【发布时间】:2019-09-17 23:15:35
【问题描述】:
我通过TContextService 和TContextImplementation 选项设置我的DBContext。
像这样的:
services.AddDbContext<IMyDbContext, MyDbContext>(options => options.UseNpgsql(myDatabaseConnectionString));
我尝试从 Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 启用运行状况检查 当我尝试使用此代码时
services.AddHealthChecks().AddDbContextCheck<MyDbContext>()
我从健康端点响应中得到了
InvalidOperationException:尝试激活“Microsoft.Extensions.Diagnostics.HealthChecks.DbContextHealthCheck`1[MyDbContext]”时无法解析“MyDbContext”类型的服务。 Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorMatcher.CreateInstance(IServiceProvider 提供程序) Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider 提供程序,类型 instanceType,对象 [] 参数) Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetServiceOrCreateInstance(IServiceProvider 提供程序)
你知道有什么方法可以通过实体框架使用TContextService和TContextImplementation这两个选项进行健康检查吗?
【问题讨论】:
-
我创建了一个功能请求,以便可以使用数据库上下文接口注册健康检查:github.com/aspnet/AspNetCore/issues/14089
标签: c# asp.net-core entity-framework-core