相关疑难解决方法(0)

如何在ASP.NET Core中验证DI容器?

在我的Startup课程中,我使用该ConfigureServices(IServiceCollection services)方法设置我的服务容器,使用内置的DI容器Microsoft.Extensions.DependencyInjection.

我想在单元测试中验证依赖图,以检查是否可以构造所有服务,以便我可以修复在单元测试期间丢失的任何服务,而不是让应用程序在运行时崩溃.在之前的项目中,我使用了Simple Injector,它有一个.Verify()容器的方法.但我无法找到任何与ASP.NET Core类似的东西.

是否有任何内置(或至少推荐)的方法来验证是否可以构建整个依赖图?

(我能想到的最愚蠢的方式就是这样,但由于框架本身注入了开放的泛型,它仍然会失败):

startup.ConfigureServices(serviceCollection);
var provider = serviceCollection.BuildServiceProvider();
foreach (var serviceDescriptor in serviceCollection)
{
    provider.GetService(serviceDescriptor.ServiceType);
}
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection asp.net-core

22
推荐指数
1
解决办法
2203
查看次数

标签 统计

asp.net-core ×1

c# ×1

dependency-injection ×1