ServiceHealthBehavior Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un comportement de service Windows Communication Foundation (WCF) qui fournit un point de terminaison d’intégrité.
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
- Héritage
Remarques
Les points de terminaison d’intégrité sont utilisés pour effectuer des vérifications d’intégrité qui évaluent l’intégrité d’un composant. Les points de terminaison d’intégrité peuvent être utilisés pour :
Informez les outils d’orchestration pour tuer un processus qui échoue à un contrôle d’intégrité critique.
Servez-vous d’indicateur de problème précoce pour les outils de surveillance en suivant et en fournissant des alertes sur la disponibilité et les performances d’un service.
ServiceHealthBehavior est un comportement de service WCF qui étend IServiceBehavior et dérive de ServiceHealthBehaviorBase. L’ajout d’une ServiceHealthBehavior instance à la ServiceDescription.Behaviors collection active les éléments suivants :
Publication de Service Health : Les détails spécifiques au service, tels que l’état du service, le nombre de limitations et la capacité, peuvent être affichés à l’aide d’une requête HTTP/GET avec la
?healthchaîne de requête. Le fait de connaître et d’avoir facilement accès aux informations affichées est d’une importance primordiale lors de la résolution d’un problème de comportement d’un service WCF.Retour des codes de réponse HTTP : Vous pouvez spécifier dans la chaîne de requête le code d’état HTTP d’une requête de sonde d’intégrité HTTP/GET.
Un point de terminaison d’intégrité n’est significatif que dans le contexte du composant dont il surveille l’intégrité. Elle n’a aucune autre signification ni but. Par conséquent, son intégrité est un canal vers l’intégrité du composant. Les clients doivent supposer que le code de réponse HTTP retourné par le point de terminaison d’intégrité s’applique à l’ensemble du composant. Cela est compatible avec le comportement attendu par les outils infrastructurels actuels qui utilisent des contrôles d’intégrité, tels que les équilibreurs de charge, les découvertes de service et d’autres.
Activer un point de terminaison d’intégrité
Il existe deux façons de spécifier comment exposer le point de terminaison d’intégrité et publier des informations d’intégrité du service WCF :
À l’aide d’un fichier de configuration. Par exemple:
<behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceHealth httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>Programmatiquement. Le fragment de code suivant utilise C# pour exposer le point de terminaison d’intégrité :
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);
Constructeurs
| Nom | Description |
|---|---|
| ServiceHealthBehavior() |
Initialise une nouvelle instance de la classe ServiceHealthBehavior. |
Propriétés
| Nom | Description |
|---|---|
| HasXmlSupport |
Obtient une valeur qui indique si les messages de réponse XML sont pris en charge. |
| HealthDetailsEnabled |
Obtient ou définit une valeur qui spécifie si le point de terminaison d’intégrité doit retourner les détails du service ou si la réponse ne doit contenir aucun contenu. (Hérité de ServiceHealthBehaviorBase) |
| HttpGetBinding |
Obtient ou définit la liaison utilisée pour la récupération d’intégrité via une requête HTTP/Get. (Hérité de ServiceHealthBehaviorBase) |
| HttpGetEnabled |
Obtient ou définit une valeur qui spécifie s’il faut publier des métadonnées de service pour la récupération à l’aide d’une requête HTTP/Get. (Hérité de ServiceHealthBehaviorBase) |
| HttpGetUrl |
Obtient ou définit un URI qui spécifie l’adresse à laquelle les métadonnées sont publiées pour la récupération à l’aide d’une requête HTTP/Get. (Hérité de ServiceHealthBehaviorBase) |
| HttpsGetBinding |
Obtient ou définit la liaison utilisée pour la récupération d’intégrité via une requête HTTPS/Get. (Hérité de ServiceHealthBehaviorBase) |
| HttpsGetEnabled |
Obtient ou définit une valeur qui spécifie s’il faut publier des métadonnées de service pour la récupération à l’aide d’une requête HTTPS/Get. (Hérité de ServiceHealthBehaviorBase) |
| HttpsGetUrl |
Obtient ou définit un URI qui spécifie l’adresse à laquelle les métadonnées sont publiées pour la récupération à l’aide d’une requête HTTPS/Get. (Hérité de ServiceHealthBehaviorBase) |
| ServiceStartTime |
Obtient la date et l’heure de démarrage du service de contrôle d’intégrité. (Hérité de ServiceHealthBehaviorBase) |
Méthodes
| Nom | Description |
|---|---|
| AddHttpProperty(Message, HttpStatusCode, Boolean) |
Définit le type de contenu et le code d’état HTTP pour le message de réponse. |
| EnsureHttpStatusCode(Int32) |
Vérifiez que le code d’état HTTP se trouve dans la plage comprise entre 200 et 599, inclus. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetHttpResponseCode(ServiceHostBase, String[]) |
Analyse les champs de chaîne de requête et retourne son code de réponse HTTP défini. |
| GetServiceHealthSections(ServiceHostBase) |
Obtient une collection des ServiceHealthSection objets définis dans le ServiceHealthBehavior. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| GetXmlDocument(ServiceHostBase) |
Sérialise l’objet ServiceHealthModel associé à l’objet spécifié |
| HandleHealthRequest(ServiceHostBase, Message, String[], Message) |
Retourne le message de réponse à une requête spécifiée. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| TryParseBooleanQueryParameter(String, String, Boolean, Boolean) |
Tente d’analyser un paramètre de chaîne de requête booléenne et retourne une valeur qui indique si l’opération d’analyse a réussi. |
| TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode) |
Tente d’analyser le code d’état HTTP d’une variable de chaîne de requête et retourne une valeur qui indique si l’opération d’analyse a réussi. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Transmet des données personnalisées aux éléments de liaison pour prendre en charge l’implémentation du contact. (Hérité de ServiceHealthBehaviorBase) |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Modifie les valeurs de propriété d’exécution ou insère des objets d’extension personnalisés tels que des gestionnaires d’erreurs, des intercepteurs de messages ou de paramètres, des extensions de sécurité et d’autres objets d’extension personnalisés. (Hérité de ServiceHealthBehaviorBase) |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Inspecte l’hôte du service et la description du service pour vérifier que le service peut s’exécuter correctement. (Hérité de ServiceHealthBehaviorBase) |