ServiceHealthBehavior Klas

Definitie

Biedt een Windows Communication Foundation (WCF)-servicegedrag dat een statuseindpunt biedt.

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
Overname
ServiceHealthBehavior

Opmerkingen

Statuseindpunten worden gebruikt om statuscontroles uit te voeren waarmee de status van een onderdeel wordt beoordeeld. Statuseindpunten kunnen worden gebruikt om:

  • Stel orchestration-hulpprogramma's op de hoogte om een proces te beĆ«indigen dat een kritieke statuscontrole mislukt.

  • Fungeren als een vroege probleemindicator voor het bewaken van hulpprogramma's door waarschuwingen over de beschikbaarheid en prestaties van een service bij te houden en te bieden.

ServiceHealthBehavior is een WCF-servicegedrag dat IServiceBehavior uitbreidt en is afgeleid van ServiceHealthBehaviorBase. Als u een ServiceHealthBehavior exemplaar aan de ServiceDescription.Behaviors verzameling toevoegt, kunt u het volgende doen:

  • Publicatie van Service Health: Servicespecifieke details, zoals servicestatus, aantal beperkingen en capaciteit, kunnen worden weergegeven met behulp van een HTTP/GET-aanvraag met de ?health querytekenreeks. Het is van cruciaal belang dat u weet en eenvoudig toegang hebt tot de weergegeven informatie bij het oplossen van problemen met een verkeerd functionerende WCF-service.

  • Retourneert HTTP-antwoordcodes: U kunt in de querytekenreeks de HTTP-statuscode opgeven voor een HTTP/GET-statustestaanvraag.

Een statuseindpunt is alleen zinvol in de context van het onderdeel waarvan de status wordt bewaakt. Het heeft geen andere betekenis of doel. Als zodanig is de status een conduit voor de status van het onderdeel. Clients moeten ervan uitgaan dat de HTTP-antwoordcode die door het statuseindpunt wordt geretourneerd, van toepassing is op het hele onderdeel. Dit is compatibel met het gedrag dat wordt verwacht door de huidige infrastructuurprogramma's die gebruikmaken van statuscontroles, zoals load balancers, servicedetecties en andere.

Een statuseindpunt inschakelen

Er zijn twee manieren om op te geven hoe u het statuseindpunt beschikbaar maakt en wcF-servicestatusgegevens publiceert:

  • Met behulp van een configuratiebestand. Voorbeeld:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • Programmatisch. In het volgende codefragment wordt C# gebruikt om het statuseindpunt beschikbaar te maken:

    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);
    

Constructors

Name Description
ServiceHealthBehavior()

Initialiseert een nieuw exemplaar van de ServiceHealthBehavior klasse.

Eigenschappen

Name Description
HasXmlSupport

Hiermee wordt een waarde opgehaald die aangeeft of XML-antwoordberichten worden ondersteund.

HealthDetailsEnabled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het statuseindpunt de servicegegevens moet retourneren of als het antwoord geen inhoud mag bevatten.

(Overgenomen van ServiceHealthBehaviorBase)
HttpGetBinding

Hiermee haalt u de binding op die wordt gebruikt voor het ophalen van de status via een HTTP/Get-aanvraag.

(Overgenomen van ServiceHealthBehaviorBase)
HttpGetEnabled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de metagegevens van de service moeten worden gepubliceerd voor het ophalen met behulp van een HTTP/Get-aanvraag.

(Overgenomen van ServiceHealthBehaviorBase)
HttpGetUrl

Hiermee wordt een URI opgehaald of ingesteld waarmee het adres wordt opgegeven waarnaar metagegevens worden gepubliceerd voor ophalen met behulp van een HTTP/Get-aanvraag.

(Overgenomen van ServiceHealthBehaviorBase)
HttpsGetBinding

Hiermee haalt u de binding op die wordt gebruikt voor het ophalen van de status via een HTTPS/Get-aanvraag.

(Overgenomen van ServiceHealthBehaviorBase)
HttpsGetEnabled

Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt aangegeven of servicemetagegevens moeten worden gepubliceerd voor het ophalen met behulp van een HTTPS/Get-aanvraag.

(Overgenomen van ServiceHealthBehaviorBase)
HttpsGetUrl

Hiermee wordt een URI opgehaald of ingesteld waarmee het adres wordt opgegeven waarnaar metagegevens worden gepubliceerd voor het ophalen met behulp van een HTTPS/Get-aanvraag.

(Overgenomen van ServiceHealthBehaviorBase)
ServiceStartTime

Hiermee haalt u de datum en tijd op waarop de statuscontroleservice is gestart.

(Overgenomen van ServiceHealthBehaviorBase)

Methoden

Name Description
AddHttpProperty(Message, HttpStatusCode, Boolean)

Hiermee stelt u het inhoudstype en de HTTP-statuscode voor het antwoordbericht in.

EnsureHttpStatusCode(Int32)

Zorg ervoor dat de HTTP-statuscode binnen het bereik van 200 en 599 valt.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetHttpResponseCode(ServiceHostBase, String[])

Parseert de queryreeksvelden en retourneert de gedefinieerde HTTP-antwoordcode.

GetServiceHealthSections(ServiceHostBase)

Hiermee haalt u een verzameling van de ServiceHealthSection objecten op die zijn gedefinieerd in de ServiceHealthBehavior.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetXmlDocument(ServiceHostBase)

Serialiseert het ServiceHealthModel object dat is gekoppeld aan de opgegeven serviceHost en retourneert het in XML-indeling.

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

Retourneert het antwoordbericht naar een opgegeven aanvraag.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
TryParseBooleanQueryParameter(String, String, Boolean, Boolean)

Probeert een Booleaanse queryreeksparameter te parseren en retourneert een waarde die aangeeft of de parseringsbewerking is geslaagd.

TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode)

Probeert de HTTP-statuscode van een queryreeksvariabele te parseren en retourneert een waarde die aangeeft of de parseringsbewerking is geslaagd.

Expliciete interface-implementaties

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

Geeft aangepaste gegevens door aan bindingselementen ter ondersteuning van de implementatie van de contactpersoon.

(Overgenomen van ServiceHealthBehaviorBase)
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Hiermee worden runtime-eigenschapswaarden gewijzigd of worden aangepaste extensieobjecten ingevoegd, zoals fouthandlers, bericht- of parameter interceptors, beveiligingsextensies en andere aangepaste extensieobjecten.

(Overgenomen van ServiceHealthBehaviorBase)
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Controleert de servicehost en de servicebeschrijving om te bevestigen dat de service kan worden uitgevoerd.

(Overgenomen van ServiceHealthBehaviorBase)

Van toepassing op