[英]Access configuration through dependency injection in .NET Core console application
如何正確激活使用 ServiceCollection.Configure 函數添加的配置?
public static void Main(args[] args)
{
serviceCollection = new ServiceCollection();
serviceCollection .Configure<MyOptions>(Configuration.GetSection("options"));
Services = serviceCollection.BuildServiceProvider();
ActivatorUtilities.CreateInstance<MyOptions>(Services);
ActivatorUtilities.CreateInstance<SomeClassThatNeedsoptions>(Services);
}
public SomeClassThatNeedsoptions(IOptions<MyOptions> options)
{
_options = options.Value;
}
在 2nd ActivatorUtilities.CreateInstance 我收到以下錯誤
無法解析類型“Microsoft.Extensions.Options.IOptions [MyOptions]”的服務
我正在控制台應用程序中編寫此內容,據我所知,我正在使用 ActivatorUtilities 類手動注入依賴項。 我似乎可以使用 AddSingleton 添加的服務來完成,但不能使用 .Configure 添加的服務
嘗試在實例化 ServiceCollection 后立即添加
serviceCollection.AddOptions();
請參閱此鏈接有一個很好的答案,它適用於“從類庫訪問 Asp.net-core 中的 appsetting.json ” https://stackoverflow.com/a/39548459/966557?stw=2 。 它適用於我的應用程序。
但請注意,我不確定它是否適用於基於控制台的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.