日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core开发实战(第17课:为选项数据添加验证:避免错误配置的应用接收用户流量)--学习笔记...

發(fā)布時間:2023/12/4 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core开发实战(第17课:为选项数据添加验证:避免错误配置的应用接收用户流量)--学习笔记... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

17 | 為選項數(shù)據(jù)添加驗證:避免錯誤配置的應用接收用戶流量

三種驗證方法

1、直接注冊驗證函數(shù)

2、實現(xiàn) IValidateOptions

3、使用 Microsoft.Extensions.Options.DataAnnotations

延用上一節(jié)代碼

需要添加驗證的時候不能用 Configure,而用 AddOptions 方法

//services.Configure<OrderServiceOptions>(configuration);services.AddOptions<OrderServiceOptions>().Configure(options => {configuration.Bind(options); }).Validate(options => {return options.MaxOrderCount <= 100; }, "MaxOrderCount 不能大于100");

配置中的值是200,所以運行之后報錯,提示 “MaxOrderCount 不能大于100”

接著使用屬性的方式,切換成屬性注入

services.AddOptions<OrderServiceOptions>().Configure(options => {configuration.Bind(options); }).ValidateDataAnnotations();

還需要修改 OrderServiceOptions,定義它的驗證屬性

public class OrderServiceOptions { [Range(30, 100)] public int MaxOrderCount { get; set; } = 100; }

配置中的值是200,所以運行之后報錯,提示 “MaxOrderCount 的值必須在30到100之間”

接著是第三種方式,實現(xiàn)接口的方式

首先是定義驗證類

public class OrderServiceValidateOptions : IValidateOptions<OrderServiceOptions> {public ValidateOptionsResult Validate(string name, OrderServiceOptions options){if (options.MaxOrderCount > 100){return ValidateOptionsResult.Fail("MaxOrderCount 不能大于100");}else{return ValidateOptionsResult.Success;}} }

要使用這個類,需要注入進去

services.AddOptions<OrderServiceOptions>().Configure(options => {configuration.Bind(options); }).Services.AddSingleton<IValidateOptions<OrderServiceOptions>>(new OrderServiceValidateOptions( ));

配置中的值是200,所以運行之后報錯,提示 “MaxOrderCount 不能大于100”

總結(jié)一下,通過添加選項的驗證,可以在配置錯誤的情況下阻止應用程序啟動,這樣就可以避免用戶流量達到錯誤的節(jié)點上

總結(jié)

以上是生活随笔為你收集整理的.NET Core开发实战(第17课:为选项数据添加验证:避免错误配置的应用接收用户流量)--学习笔记...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。