从.Net Core 2.2迁移到.Net Core 3.0

嗨,我正在尝试将Web API从.Net核心2.2迁移到.net核心3.0我收到以下行代码的警告。您能否让我知道如何解决此问题。

 public void ConfigureServices(IServiceCollection services)

  {  
 var buildServiceProvider = services.BuildServiceProvider();
            var getService = buildServiceProvider.GetService<IOptions<ConfigurationSettings>>();
            ConfigurationSettings = getService.Value;

}
  

警告:从应用程序代码调用BuildServiceProvider会导致创建单例服务的其他副本。

谢谢

shala1204 回答:从.Net Core 2.2迁移到.Net Core 3.0

这是因为您正在创建ServiceProvider。理想情况下,您不应调用services.BuildServiceProvider()。看来您正在呼叫BuildServiceProvider,以便您可以解决IOptions<ConfigurationSettings>。不用解决ConfigureServices方法,您可以接受IOptions<ConfigurationSettings>作为服务的参数,ASP.NET Core会将其注入到您的服务中。


public class MyService : IMyService
{
    public MyService(IOtherService otherService,IOptions<ConfigurationSettings> configurationSettings)
    {
         // read config value from here.
    }
}
本文链接:https://www.f2er.com/3140206.html

大家都在问