ServiceHealthBehavior Classe

Definizione

Fornisce un comportamento del servizio Windows Communication Foundation (WCF) che fornisce un endpoint di integrità.

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
Ereditarietà
ServiceHealthBehavior

Commenti

Gli endpoint di integrità vengono usati per eseguire controlli di integrità che valutano l'integrità di un componente. Gli endpoint di integrità possono essere usati per:

  • Notificare agli strumenti di orchestrazione di terminare un processo che non riesce a un controllo integrità critico.

  • Fungere da indicatore precoce del problema per gli strumenti di monitoraggio monitorando e fornendo avvisi sulla disponibilità e sulle prestazioni di un servizio.

ServiceHealthBehavior è un comportamento del servizio WCF che estende IServiceBehavior e deriva da ServiceHealthBehaviorBase. L'aggiunta di un'istanza ServiceHealthBehaviorServiceDescription.Behaviors alla raccolta consente quanto segue:

  • Pubblicazione dell'integrità dei servizi: I dettagli specifici del servizio, ad esempio lo stato del servizio, i conteggi delle limitazioni e la capacità, possono essere visualizzati usando una richiesta HTTP/GET con la ?health stringa di query. Conoscere e avere facilmente accesso alle informazioni visualizzate è di fondamentale importanza quando si risolve un comportamento errato di un servizio WCF.

  • Restituzione dei codici di risposta HTTP: È possibile specificare nella stringa di query il codice di stato HTTP per una richiesta di probe di integrità HTTP/GET.

Un endpoint di integrità è significativo solo nel contesto del componente di cui esegue il monitoraggio dell'integrità. Non ha altro significato o scopo. Di conseguenza, la sua integrità è un condotto per l'integrità del componente. I client devono presupporre che il codice di risposta HTTP restituito dall'endpoint di integrità sia applicabile all'intero componente. Ciò è compatibile con il comportamento previsto dagli strumenti infrastrutturali correnti che utilizzano controlli di integrità, ad esempio servizi di bilanciamento del carico, individuazioni dei servizi e altri.

Abilitare un endpoint di integrità

Esistono due modi per specificare come esporre l'endpoint di integrità e pubblicare informazioni sull'integrità del servizio WCF:

  • Usando un file di configurazione. Per esempio:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • Programmaticamente Il frammento di codice seguente usa C# per esporre l'endpoint di integrità:

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

Costruttori

Nome Descrizione
ServiceHealthBehavior()

Inizializza una nuova istanza della classe ServiceHealthBehavior.

Proprietà

Nome Descrizione
HasXmlSupport

Ottiene un valore che indica se i messaggi di risposta XML sono supportati.

HealthDetailsEnabled

Ottiene o imposta un valore che specifica se l'endpoint di integrità deve restituire i dettagli del servizio o se la risposta non deve contenere contenuto.

(Ereditato da ServiceHealthBehaviorBase)
HttpGetBinding

Ottiene o imposta l'associazione utilizzata per il recupero dell'integrità tramite una richiesta HTTP/Get.

(Ereditato da ServiceHealthBehaviorBase)
HttpGetEnabled

Ottiene o imposta un valore che specifica se pubblicare i metadati del servizio per il recupero tramite una richiesta HTTP/Get.

(Ereditato da ServiceHealthBehaviorBase)
HttpGetUrl

Ottiene o imposta un URI che specifica l'indirizzo a cui vengono pubblicati i metadati per il recupero tramite una richiesta HTTP/Get.

(Ereditato da ServiceHealthBehaviorBase)
HttpsGetBinding

Ottiene o imposta l'associazione utilizzata per il recupero dell'integrità tramite una richiesta HTTPS/Get.

(Ereditato da ServiceHealthBehaviorBase)
HttpsGetEnabled

Ottiene o imposta un valore che specifica se pubblicare i metadati del servizio per il recupero tramite una richiesta HTTPS/Get.

(Ereditato da ServiceHealthBehaviorBase)
HttpsGetUrl

Ottiene o imposta un URI che specifica l'indirizzo a cui vengono pubblicati i metadati per il recupero tramite una richiesta HTTPS/Get.

(Ereditato da ServiceHealthBehaviorBase)
ServiceStartTime

Ottiene la data e l'ora di avvio del servizio di controllo integrità.

(Ereditato da ServiceHealthBehaviorBase)

Metodi

Nome Descrizione
AddHttpProperty(Message, HttpStatusCode, Boolean)

Imposta il tipo di contenuto e il codice di stato HTTP per il messaggio di risposta.

EnsureHttpStatusCode(Int32)

Assicurarsi che il codice di stato HTTP sia compreso nell'intervallo compreso tra 200 e 599 inclusi.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetHttpResponseCode(ServiceHostBase, String[])

Analizza i campi della stringa di query e restituisce il codice di risposta HTTP definito.

GetServiceHealthSections(ServiceHostBase)

Ottiene una raccolta di ServiceHealthSection oggetti definiti nell'oggetto ServiceHealthBehavior.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetXmlDocument(ServiceHostBase)

Serializza l'oggetto associato all'oggetto ServiceHealthModel specificato serviceHost e lo restituisce in formato XML.

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

Restituisce il messaggio di risposta a una richiesta specificata.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryParseBooleanQueryParameter(String, String, Boolean, Boolean)

Tenta di analizzare un parametro della stringa di query booleana e restituisce un valore che indica se l'operazione di analisi è riuscita.

TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode)

Tenta di analizzare il codice di stato HTTP di una variabile di stringa di query e restituisce un valore che indica se l'operazione di analisi è riuscita.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Passa dati personalizzati agli elementi di associazione per supportare l'implementazione del contatto.

(Ereditato da ServiceHealthBehaviorBase)
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Modifica i valori delle proprietà di runtime o inserisce oggetti di estensione personalizzati, ad esempio gestori di errori, intercettori di messaggi o parametri, estensioni di sicurezza e altri oggetti di estensione personalizzati.

(Ereditato da ServiceHealthBehaviorBase)
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Controlla l'host del servizio e la descrizione del servizio per verificare che il servizio possa essere eseguito correttamente.

(Ereditato da ServiceHealthBehaviorBase)

Si applica a