C# 如何访问服务中的选项对象。配置<;MyOptions>;在DotNet核心依赖注入中?
我对依赖注射还比较陌生。我有以下代码:C# 如何访问服务中的选项对象。配置<;MyOptions>;在DotNet核心依赖注入中?,c#,.net,.net-core,dependency-injection,C#,.net,.net Core,Dependency Injection,我对依赖注射还比较陌生。我有以下代码: static void Main(string[] args) { var hostBuilder = new HostBuilder() .UseConsoleLifetime() .ConfigureServices((hostContext, services) => {
static void Main(string[] args)
{
var hostBuilder = new HostBuilder()
.UseConsoleLifetime()
.ConfigureServices((hostContext, services) =>
{
services.AddFtpServer(opt => opt.UseDotNetFileSystem()).AddHostedService<HostedFtpService>();
services.AddSingleton<IMembershipProvider, CustomMembershipProvider>();
services.Configure<FtpServerOptions>(opt => opt.Port = 33999);
});
var host = hostBuilder.Build();
var Item1 = host.Services.GetService<IMembershipProvider>(); //This works, I can get the new CustomMembershipProvider Object
var Item2 = host.Services.GetService<FtpServerOptions>(); //This does NOT work....
}
尝试这样做:
var Item2 = host.Services.GetService<IOptions<FtpServerOptions>>();
酷它的作品,但也有IOptionsMonitor,这可能是一个我需要的。谢谢
var Item2 = host.Services.GetService<IOptions<FtpServerOptions>>();
var options = Item2.Value