EntityFrameworkCoreHealthChecksBuilderExtensions.AddDbContextCheck<TContext> 方法

定義

新增指定 DbContext 型別的健康情況檢查。

public static Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder AddDbContextCheck<TContext> (this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder builder, string name = default, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus = default, System.Collections.Generic.IEnumerable<string> tags = default, Func<TContext,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> customTestQuery = default) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder AddDbContextCheck<TContext> (this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder builder, string? name = default, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus = default, System.Collections.Generic.IEnumerable<string>? tags = default, Func<TContext,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>>? customTestQuery = default) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddDbContextCheck : Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder * string * Nullable<Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus> * seq<string> * Func<'Context, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool> (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)> -> Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddDbContextCheck(Of TContext As DbContext) (builder As IHealthChecksBuilder, Optional name As String = Nothing, Optional failureStatus As Nullable(Of HealthStatus) = Nothing, Optional tags As IEnumerable(Of String) = Nothing, Optional customTestQuery As Func(Of TContext, CancellationToken, Task(Of Boolean)) = Nothing) As IHealthChecksBuilder

類型參數

TContext

DbContext 類型。

參數

name
String

健康狀態檢查名稱。 選擇性。 如果 null 的型別名稱 TContext 將用於名稱。

failureStatus
Nullable<HealthStatus>

健康 HealthStatus 情況檢查失敗時應該回報的 。 選擇性。 若 null 為 ,則會報告的默認狀態 Unhealthy

tags
IEnumerable<String>

可用來篩選健康情況檢查集合的標記清單。 選擇性。

customTestQuery
Func<TContext,CancellationToken,Task<Boolean>>

當健康情況檢查執行以測試資料庫連接和組態的健康情況時,將會執行的自定義測試查詢。

傳回

IHealthChecksBuilder

備註

這個方法新增的健康情況檢查實作將會使用相依性插入容器來建立的 TContext實例。

根據預設,健康情況檢查實作會使用 CanConnectAsync(CancellationToken) 方法來測試資料庫的連線能力。 這個方法需要資料庫提供者已正確實 IDatabaseCreator 作 介面。 如果資料庫提供者尚未實作此介面,則健康情況檢查將會回報失敗。

customTestQuery提供會取代 CanConnectAsync(CancellationToken) 用來測試資料庫連線能力。 測試查詢的實作應該處理因連線失敗而可能發生的例外狀況,而且應該傳回通過/失敗的結果。 測試查詢應該設計成在簡短且可述詞的時間內完成。

適用於