ServiceHealthBehavior Classe

Définition

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
ServiceHealthBehavior

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 ?health chaî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é serviceHost et le retourne au format XML.

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)

S’applique à