ServiceHealthBehavior 類別

定義

提供供應健全狀況端點的 Windows Communication Foundation (WCF) 服務行為。

public ref class ServiceHealthBehavior : System::ServiceModel::Description::ServiceHealthBehaviorBase
public class ServiceHealthBehavior : System.ServiceModel.Description.ServiceHealthBehaviorBase
type ServiceHealthBehavior = class
    inherit ServiceHealthBehaviorBase
Public Class ServiceHealthBehavior
Inherits ServiceHealthBehaviorBase
繼承
ServiceHealthBehavior

備註

健康情況端點可用來執行健康情況檢查,以評估元件的健康情況。 健康情況端點可用來:

  • 通知協調流程工具終止嚴重健康情況檢查失敗的進程。

  • 藉由追蹤及提供服務可用性和效能的警示,作為監視工具的早期問題指標。

ServiceHealthBehavior 是擴充 IServiceBehavior 並從 衍生的 ServiceHealthBehaviorBase WCF 服務行為。 ServiceHealthBehavior將 實例新增至 ServiceDescription.Behaviors 集合會啟用下列動作:

  • 服務健康情況的發行: 服務特定詳細資料,例如服務狀態、節流計數和容量,可以使用 HTTP/GET 要求與 ?health 查詢字串來顯示。 針對 WCF 服務錯誤進行疑難排解時,瞭解並輕鬆地存取所顯示的資訊非常重要。

  • 傳回 HTTP 回應碼: 您可以在查詢字串中指定 HTTP/GET 健康情況探查要求的 HTTP 狀態碼。

健康情況端點只有在其所監視健全狀況的元件內容中才有意義。 它沒有其他意義或用途。 因此,其健康情況是元件健康情況的管道。 用戶端 應該 假設健康情況端點傳回的 HTTP 回應碼適用于整個元件。 這與使用健康情況檢查的目前基礎結構工具所預期的行為相容,例如負載平衡器、服務探索和其他專案。

啟用健康情況端點

有兩種方式可指定如何公開健康情況端點,以及發佈 WCF 服務健康情況資訊:

  • 透過使用設定檔。 例如:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • 程式設計。 下列程式碼片段會使用 C# 來公開健康情況端點:

    ServiceHost host = new ServiceHost(typeof(Service1),
        new Uri("http://jconde-dev1:81/Service1"));
    ServiceHealthBehavior healthBehavior =
                host.Description.Behaviors.Find<ServiceHealthBehavior>();
    if (healthBehavior == null)
    {
        healthBehavior = new ServiceHealthBehavior();
    }
    //healthBehavior.HttpGetEnabled = false;
    //healthBehavior.HttpsGetEnabled = false;
    host.Description.Behaviors.Add(healthBehavior);
    

建構函式

ServiceHealthBehavior()

初始化 ServiceHealthBehavior 類別的新執行個體。

屬性

HasXmlSupport

取得值,這個值指出是否支援 XML 回應訊息。

HealthDetailsEnabled

取得或設定值,這個值指定健全狀況端點是否應該傳回服務詳細資料,或回應是否應該不包含任何內容。

(繼承來源 ServiceHealthBehaviorBase)
HttpGetBinding

取得或設定用於透過 HTTP/Get 要求擷取健全狀況的繫結。

(繼承來源 ServiceHealthBehaviorBase)
HttpGetEnabled

取得或設定值,這個值指出是否發行服務中繼資料以使用 HTTP/Get 要求進行擷取。

(繼承來源 ServiceHealthBehaviorBase)
HttpGetUrl

取得或設定 URI,指定發佈中繼資料以使用 HTTP/Get 要求進行擷取的位址。

(繼承來源 ServiceHealthBehaviorBase)
HttpsGetBinding

取得或設定用於透過 HTTPS/Get 要求擷取健全狀況的繫結。

(繼承來源 ServiceHealthBehaviorBase)
HttpsGetEnabled

取得或設定值,這個值指定是否發佈服務中繼資料以使用 HTTPS/Get 要求進行擷取。

(繼承來源 ServiceHealthBehaviorBase)
HttpsGetUrl

取得或設定 URI,指定發佈中繼資料以使用 HTTPS/Get 要求進行擷取的位址。

(繼承來源 ServiceHealthBehaviorBase)
ServiceStartTime

取得啟動健全狀況檢查服務的日期和時間。

(繼承來源 ServiceHealthBehaviorBase)

方法

AddHttpProperty(Message, HttpStatusCode, Boolean)

設定回應訊息的內容類型和 HTTP 狀態碼。

EnsureHttpStatusCode(Int32)

確定 HTTP 狀態碼介於 200-599 的範圍內 (包含頭尾)。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetHttpResponseCode(ServiceHostBase, String[])

剖析查詢字串欄位並傳回其定義的 HTTP 回應碼。

GetServiceHealthSections(ServiceHostBase)

取得定義於 ServiceHealthBehavior 中的 ServiceHealthSection 物件集合。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetXmlDocument(ServiceHostBase)

序列化與指定 serviceHost 相關聯的 ServiceHealthModel 物件並以 XML 格式傳回。

HandleHealthRequest(ServiceHostBase, Message, String[], Message)

將回應訊息傳回至指定的要求。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TryParseBooleanQueryParameter(String, String, Boolean, Boolean)

嘗試剖析布林查詢字串參數,並傳回值,指出剖析作業是否成功。

TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode)

嘗試剖析查詢字串變數的 HTTP 狀態碼,並傳回值,指出剖析作業是否成功。

明確介面實作

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

將自訂資料傳遞至繫結項目,以支援合約實作。

(繼承來源 ServiceHealthBehaviorBase)
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

變更執行階段屬性值或插入自訂延伸模組物件,例如錯誤處理常式、訊息或參數攔截器、安全性延伸模組或其他自訂延伸模組物件。

(繼承來源 ServiceHealthBehaviorBase)
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

檢查服務主機和服務描述,以確認服務能夠順利執行。

(繼承來源 ServiceHealthBehaviorBase)

適用於