[英]Using IOptions with Unity
我有一個從ASP.Net Core(目標4.5)和4.5 Web應用程序引用的類庫,我想要共享應用程序設置。 我在4.5方面使用Unity for DI,在Core方面使用Core Bootstrapping。 在核心方面,我注冊了一種類似我的應用程序設置
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
然后我像這樣引用AppSettings
private readonly AppSettings _appSettings;
public SubmissionRepository(PricingContext dbContext, IMapper mapper, IOptions<AppSettings> appSettings)
{
_appSettings = appSettings;
}
我想在4.5方面注冊我的服務,我能夠在Unity的WebApiConfig.cs中做到這一點
container.RegisterType<AppSettings>(new InjectionFactory(o => BuildAppSettings()));
其中BuildAppSettings只使用ConfigurationManager填充該類型的實例(不確定這是否是正確的方法)
但是我在運行時遇到異常
無法將類型為“.Core.Integration.Models.AppSettings”的對象強制轉換為“Microsoft.Extensions.Options.IOptions`1 [Core.Integration.Models.AppSettings]”。
我猜我需要以某種方式將IOptions實例放入我的容器中,但不知道如何做到這一點。 有沒有一個首選/更好的方法來做到這一點?
如果我再用谷歌搜索10秒鍾,我就會發現這個
Options.Create(new AppSettings{
// config reads
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.