Joh*_*ore 5 asp.net-core asp.net-core-3.1
我有以下显示警告的代码...
从应用程序代码调用“BuildServiceProvider”会导致创建单例服务的附加副本。考虑替代方案,例如依赖注入服务作为“配置”的参数。
这是一个简短的片段,ConfigureServices显示了如何使用它。基本上我需要解析 AdminDbContext 以将其传递给初始化例程。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<AdminDbContext>(o => o.UseSqlServer("config settings here"));
CustomerConnectionStrings.Instance.Initialize(services.BuildServiceProvider().GetService<AdminDbContext>());
}
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能消除这个警告?
我已经看到其他帖子展示了如何执行此操作,但我没有为我的特定用例建立连接。
虽然我相信这可能是一个XY 问题。
我建议遵循警告中的建议
考虑替代方案,例如依赖注入服务作为“配置”的参数。
//...
public void ConfigureServices(IServiceCollection services) {
services.AddDbContext<AdminDbContext>(o => o.UseSqlServer("config settings here"));
//...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, AdminDbContext adminDb) {
CustomerConnectionStrings.Instance.Initialize(adminDb);
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2966 次 |
| 最近记录: |