前言

.NET Core提供对应方法可进行健康检查,那么在EF Core中是否也提供了相应的方式呢?EF Core 2.2+(包含2.2)版本提供了针对上下文的健康检查,接下来我们直接利用.NET 5.0版本进行演示

EntityFramework Core 5.0健康检查

我们知道在.NET Core中使用健康检查直接在对应服务中添加健康检查扩展方法即可,如下:

services.AddHealthChecks()

在上述基础上我们再添加针对EF Core的诊断包才能进行健康检查,首先,我们安装诊断包

Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore

接下来我们使用上述诊断包针对如下上下文健康检查扩展方法AddDbContext,同时我们注入示例上下文,如下:

services.AddHealthChecks().AddDbContextCheck<EFCoreDbContext>();

services.AddDbContext<EFCoreDbContext>(options =>
{
options.UseSqlServer(@"Server=.;Database=EFCore;Trusted_Connection=True;");
});

最后我们在路由中映射健康检查路由节点,如下:

app.UseEndpoints(endpoints =>
{
endpoints.MapHealthChecks("/context/health");
});

接下来我们来访问上述健康检查路由节点看看

我们看到如上将返回Healthy字符串,说明一切健康(正常),当我们注入针对EF Core的诊断包后,到底是根据什么来判断是否健康或正常呢,不用讲,我们都能猜到,那就是对所配置数据库的访问

反之,当非健康状态时,此时页面和控制台都将返回对应信息,如下:

总结

EF Core健康检查出现于 2.2+(包含2.2)

安装诊断包:Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore

在添加健康检查扩展方法基础上,添加针对上下文健康检查扩展方法AddDbContextCheck

EntityFramework Core健康检查的更多相关文章

  1. asp.net core 健康检查

    asp.net core 健康检查 ASP.NET Core 2.2 开始,提供了健康检查中间件和库,用来报告应用基础结构组件的运行状况.官方文档在此 运行状况检查由应用程序作为 HTTP 终结点公开 ...

  2. 在.NET Core 中实现健康检查

    .NET Core中提供了开箱即用的运行状况检查,首先,我将在.NET Core API应用程序中执行运行状况检查,接下来,我们将使用DbContext集成SQL Server或数据库的运行状况检查, ...

  3. ASP.NET Core之跨平台的实时性能监控(2.健康检查)

    前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性 ...

  4. 给 asp.net core 写一个简单的健康检查

    给 asp.net core 写一个简单的健康检查 Intro 健康检查可以帮助我们知道应用的当前状态是不是处于良好状态,现在无论是 docker 还是 k8s 还是现在大多数的服务注册发现大多都提供 ...

  5. 健康检查NET Core之跨平台的实时性能监控

    ASP.NET Core之跨平台的实时性能监控(2.健康检查)   前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内 ...

  6. .Net Core实现健康检查

    ASP.NET Core 提供运行状况检查中间件和库,以用于报告应用基础结构组件的运行状况. 运行状况检查由应用程序作为 HTTP 终结点公开. 可以为各种实时监视方案配置运行状况检查终结点: 运行状 ...

  7. ASP.NET CORE 使用Consul实现服务治理与健康检查(2)——源码篇

    题外话 笔者有个习惯,就是在接触新的东西时,一定要先搞清楚新事物的基本概念和背景,对之有个相对全面的了解之后再开始进入实际的编码,这样做最主要的原因是尽量避免由于对新事物的认知误区导致更大的缺陷,Bu ...

  8. ASP.NET Core gRPC 健康检查的实现方式

    一. 前言 gRPC 服务实现健康检查有两种方式,前面在此文 ASP.NET Core gRPC 使用 Consul 服务注册发现 中有提到过,这里归纳整理一下.gRPC 的健康检查,官方是定义了标准 ...

  9. 如何在 ASP.Net Core 中实现 健康检查

    健康检查 常用于判断一个应用程序能否对 request 请求进行响应,ASP.Net Core 2.2 中引入了 健康检查 中间件用于报告应用程序的健康状态. ASP.Net Core 中的 健康检查 ...

随机推荐

  1. Oracle初始——第一天

    一.数据库分类 1.小型数据库:access.foxbase 2.中型数据库:informix.sql server.mysql 3.大型数据库:sybase.db2.oracle 二.注释 1./* ...

  2. 知识补充之Django信号量

    信号 抛砖引玉 1.如何对数据库的增加操作记录日志 2.信号比中间件的区别 Django中提供了"信号调度",用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特 ...

  3. php判断手机浏览器和pc浏览器

    <?php public function is_mobile(){ // returns true if one of the specified mobile browsers is det ...

  4. 谈谈volatile

    volatile的作用: volatile关键字的作用包括:保障可见性,保障有序性. 何为保障可见性,看下面的代码: package com.mashibing.thread.lock; public ...

  5. nginx&http 第二章 ngx 事件event配置等初始化

    event事件模块,配置分为两层:ngx_events_module 事件模块 和 ngx_event_core_module 事件核心模块.ngx_events_module:模块类型NGX_COR ...

  6. 一文带你玩转对象存储COS文档预览

    随着"互联网+"的发展,各行各业纷纷"去纸化",商务合同.会议纪要.组织公文.商品图片.培训视频.学习课件.随堂讲义等电子文档无处不在.而要查看文档一般需要先下 ...

  7. typora 图片存储在COS

    背景 一直在使用的markdown编辑器:typora ,在其内部图片默认是存储在本机C盘中的,现想将图片方放到云端存储,节省存储空间 方法 将typora中的图片上传到腾讯云的COS中 参考:链接  ...

  8. vue-子组件为接受到父组件的数据

    问题描述: 父组件请求数据,正在处理,未处理完,子组件已经加载,传递的为对象,子组件打印接受的数据为空 解决方式:(数据处理完之后,再强行给子组件赋值) 1.在子组件中添加 :ref="ch ...

  9. 从txt中提取子域名

    import re DOMAIN =[] f = open('test.txt','r',encoding='UTF-8') w = open('domain.txt','w') for data i ...

  10. Java的比较器Comparable与Comparator

    在Java中有两个比较器:Comparable.Comparator 对于Integer.Double等等类型,可以直接对他们进行比较,因为已经实现了比较的方式,然而在平时常常会面临需要对集合进行排序 ...