从.Net core 2.2迁移到.Net Core 3.0
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从.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会导致创建单例服务的其他副本。
谢谢
答案
这是因为您正在创建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.
以上是关于从.Net core 2.2迁移到.Net Core 3.0的主要内容,如果未能解决你的问题,请参考以下文章
从 Body 迁移 .NET Core 2.2 到 3.1 集成测试始终为空
从 .NET Core 2.2 迁移到 3.1 后,EF Core 随机抓取 API 请求上的用户表
从 2.2 迁移到 3.1 的 ASP.Net Core 解决方案在发布时不会运行
如何将 .NET Core 2.2 Web API 迁移到 .NET Core 3.0?