[英]Is there an equivalent to IServiceCollection's "TryAdd" methods for use with the IOptions<T> pattern?
我發現 .NET Core IOptions 模式(如下面的語法所示)非常有幫助。
services.Configure<MySettings>(configuration.GetSection("MySettings"));
我還發現 TryAdd 方法有助於防止重復服務注冊,如下所示:
services.TryAddTransient<IMyService, MyService>();
我想知道是否有人知道使用 IOptions 完成相同事情的任何技術,或者重復注冊保護是否內置於框架中。 換句話說,我正在尋找這樣的東西:
services.TryConfigure<MySettings>(configuration.GetSection("MySettings"));
實際上,我有同樣的“問題”。 我是這樣解決的:
if (!services.Any(d => d.ServiceType == typeof(IConfigureOptions<MySettings>)))
{
services.Configure<MySettings>(configSection);
}
此解決方案基於Microsoft TryAdd 代碼。
提示:您可以為其創建擴展方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.