ServiceHealthBehavior 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供供應健全狀況端點的 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
是擴充 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) |
序列化與指定 |
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) |