EntityFrameworkCoreHealthChecksBuilderExtensions.AddDbContextCheck<TContext> 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
新增指定 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 類型。
參數
- builder
- IHealthChecksBuilder
- name
- String
健康狀態檢查名稱。 選擇性。 如果 null
的型別名稱 TContext
將用於名稱。
- failureStatus
- Nullable<HealthStatus>
健康 HealthStatus 情況檢查失敗時應該回報的 。 選擇性。 若 null
為 ,則會報告的默認狀態 Unhealthy 。
- tags
- IEnumerable<String>
可用來篩選健康情況檢查集合的標記清單。 選擇性。
- customTestQuery
- Func<TContext,CancellationToken,Task<Boolean>>
當健康情況檢查執行以測試資料庫連接和組態的健康情況時,將會執行的自定義測試查詢。
傳回
備註
這個方法新增的健康情況檢查實作將會使用相依性插入容器來建立的 TContext
實例。
根據預設,健康情況檢查實作會使用 CanConnectAsync(CancellationToken) 方法來測試資料庫的連線能力。 這個方法需要資料庫提供者已正確實 IDatabaseCreator 作 介面。 如果資料庫提供者尚未實作此介面,則健康情況檢查將會回報失敗。
customTestQuery
提供會取代 CanConnectAsync(CancellationToken) 用來測試資料庫連線能力。 測試查詢的實作應該處理因連線失敗而可能發生的例外狀況,而且應該傳回通過/失敗的結果。 測試查詢應該設計成在簡短且可述詞的時間內完成。