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
健康檢查的名字。 Optional. 如果 null 名稱會使用類型 TContext 名稱。
- failureStatus
- Nullable<HealthStatus>
HealthStatus當健康檢查失敗時,這應該會被報告。 Optional. 如果null,則會報告預設狀態。Unhealthy
- tags
- IEnumerable<String>
一個可用來篩選健康檢查集合的標籤清單。 Optional.
- customTestQuery
- Func<TContext,CancellationToken,Task<Boolean>>
一個自訂的測試查詢,會在健康檢查執行時執行,用來測試資料庫連線與設定的健康狀況。
傳回
備註
此方法新增的健康檢查實作將利用依賴注入容器建立 的 TContext實例。
預設情況下,健康檢查實作會使用此 CanConnectAsync(CancellationToken) 方法來測試與資料庫的連接性。 此方法要求資料庫提供者正確實作介面 IDatabaseCreator 。 若資料庫提供者未實作此介面,健康檢查將報告失敗。
提供 將 customTestQuery 取代測試資料庫連接的使用 CanConnectAsync(CancellationToken) 。 測試查詢的實作應處理因連線故障可能產生的異常,並應回傳通過/失敗結果。 測試查詢應設計成在短時間內完成且可預測的時間。