ServiceHealthBehavior Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein Windows Communication Foundation (WCF)-Dienstverhalten bereit, das einen Integritätsendpunkt bereitstellt.
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
- Vererbung
Hinweise
Integritätsendpunkte werden verwendet, um Integritätsprüfungen durchzuführen, die die Integrität einer Komponente bewerten. Integritätsendpunkte können verwendet werden, um:
Benachrichtigen Sie die Orchestrierungstools, um einen Prozess zu beenden, bei dem eine kritische Integritätsprüfung fehlschlägt.
Dient als Frühproblemindikator für Überwachungstools, indem Sie Warnungen über die Verfügbarkeit und Leistung eines Diensts nachverfolgen und bereitstellen.
ServiceHealthBehavior ist ein WCF-Dienstverhalten, das IServiceBehavior erweitert und von ServiceHealthBehaviorBase. Das Hinzufügen einer ServiceHealthBehavior Instanz zur ServiceDescription.Behaviors Auflistung ermöglicht Folgendes:
Veröffentlichung des Dienststatus: Dienstspezifische Details wie Dienststatus, Drosselungsanzahl und Kapazität können mithilfe einer HTTP/GET-Anforderung mit der
?healthAbfragezeichenfolge angezeigt werden. Das Wissen und den einfachen Zugriff auf die angezeigten Informationen ist von größter Bedeutung, wenn ein falscher WCF-Dienst problembeschwert wird.Rückgabe von HTTP-Antwortcodes: Man kann in der Abfragezeichenfolge den HTTP-Statuscode für eine HTTP/GET-Integritätstestanforderung angeben.
Ein Integritätsendpunkt ist nur im Kontext der Komponente sinnvoll, deren Integrität überwacht wird. Sie hat keine andere Bedeutung oder keinen anderen Zweck. Als solche ist ihre Gesundheit eine Verbindung mit der Integrität der Komponente. Clients sollten davon ausgehen, dass der vom Integritätsendpunkt zurückgegebene HTTP-Antwortcode für die gesamte Komponente gilt. Dies ist mit dem Verhalten kompatibel, das von den aktuellen Infrastrukturtools erwartet wird, die Integritätsprüfungen verwenden, z. B. Lastenausgleichsgeräte, Dienstentdeckungen und andere.
Aktivieren eines Integritätsendpunkts
Es gibt zwei Möglichkeiten, um anzugeben, wie der Integritätsendpunkt verfügbar gemacht und WCF-Dienststatusinformationen veröffentlicht werden:
Mithilfe einer Konfigurationsdatei. Beispiel:
<behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceHealth httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>Programmgesteuert. Das folgende Codefragment verwendet C#, um den Integritätsendpunkt verfügbar zu machen:
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);
Konstruktoren
| Name | Beschreibung |
|---|---|
| ServiceHealthBehavior() |
Initialisiert eine neue Instanz der ServiceHealthBehavior-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| HasXmlSupport |
Ruft einen Wert ab, der angibt, ob XML-Antwortnachrichten unterstützt werden. |
| HealthDetailsEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Integritätsendpunkt die Dienstdetails zurückgeben soll oder ob die Antwort keinen Inhalt enthalten soll. (Geerbt von ServiceHealthBehaviorBase) |
| HttpGetBinding |
Dient zum Abrufen oder Festlegen der Bindung, die für den Integritätsabruf über eine HTTP/Get-Anforderung verwendet wird. (Geerbt von ServiceHealthBehaviorBase) |
| HttpGetEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Dienstmetadaten für den Abruf mithilfe einer HTTP/Get-Anforderung veröffentlicht werden sollen. (Geerbt von ServiceHealthBehaviorBase) |
| HttpGetUrl |
Dient zum Abrufen oder Festlegen eines URI, der die Adresse angibt, für die Metadaten mithilfe einer HTTP/Get-Anforderung veröffentlicht werden. (Geerbt von ServiceHealthBehaviorBase) |
| HttpsGetBinding |
Dient zum Abrufen oder Festlegen der Bindung, die für den Integritätsabruf über eine HTTPS/Get-Anforderung verwendet wird. (Geerbt von ServiceHealthBehaviorBase) |
| HttpsGetEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Dienstmetadaten für den Abruf mithilfe einer HTTPS/Get-Anforderung veröffentlicht werden sollen. (Geerbt von ServiceHealthBehaviorBase) |
| HttpsGetUrl |
Dient zum Abrufen oder Festlegen eines URI, der die Adresse angibt, an die Metadaten mithilfe einer HTTPS/Get-Anforderung zum Abrufen veröffentlicht werden. (Geerbt von ServiceHealthBehaviorBase) |
| ServiceStartTime |
Ruft das Datum und die Uhrzeit ab, zu dem der Integritätsprüfungsdienst gestartet wurde. (Geerbt von ServiceHealthBehaviorBase) |
Methoden
| Name | Beschreibung |
|---|---|
| AddHttpProperty(Message, HttpStatusCode, Boolean) |
Legt den Inhaltstyp und den HTTP-Statuscode für die Antwortnachricht fest. |
| EnsureHttpStatusCode(Int32) |
Stellen Sie sicher, dass sich der HTTP-Statuscode im Bereich von 200 und 599 (einschließlich) befindet. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetHttpResponseCode(ServiceHostBase, String[]) |
Analysiert die Abfragezeichenfolgenfelder und gibt den definierten HTTP-Antwortcode zurück. |
| GetServiceHealthSections(ServiceHostBase) |
Ruft eine Auflistung der ServiceHealthSection in der ServiceHealthBehavior. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetXmlDocument(ServiceHostBase) |
Serialisiert das ServiceHealthModel dem angegebenen |
| HandleHealthRequest(ServiceHostBase, Message, String[], Message) |
Gibt die Antwortnachricht an eine angegebene Anforderung zurück. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| TryParseBooleanQueryParameter(String, String, Boolean, Boolean) |
Versucht, einen booleschen Abfragezeichenfolgenparameter zu analysieren und einen Wert zurück, der angibt, ob der Analysevorgang erfolgreich war. |
| TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode) |
Versucht, den HTTP-Statuscode einer Abfragezeichenfolgenvariable zu analysieren und einen Wert zurück, der angibt, ob der Analysevorgang erfolgreich war. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Übergibt benutzerdefinierte Daten an Bindungselemente, um die Kontaktimplementierung zu unterstützen. (Geerbt von ServiceHealthBehaviorBase) |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Ändert Laufzeiteigenschaftenwerte oder fügt benutzerdefinierte Erweiterungsobjekte wie Fehlerhandler, Nachrichten- oder Parameterabschnitte, Sicherheitserweiterungen und andere benutzerdefinierte Erweiterungsobjekte ein. (Geerbt von ServiceHealthBehaviorBase) |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Überprüft den Diensthost und die Dienstbeschreibung, um zu bestätigen, dass der Dienst erfolgreich ausgeführt werden kann. (Geerbt von ServiceHealthBehaviorBase) |