Share via


ServiceHealthBehavior Classe

Definizione

Specifica un comportamento del servizio Windows Communication Foundation (WCF) che offre 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 iniziale dei problemi 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 stringa di ?health 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 monitora l'integrità. Non ha altro significato o scopo. Di conseguenza, la sua salute è 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 structali correnti che utilizzano controlli di integrità, ad esempio servizi di bilanciamento del carico, individuazioni di 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:

  • Tramite un file di configurazione. Ad esempio:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • Programmazione. 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

ServiceHealthBehavior()

Inizializza una nuova istanza della classe ServiceHealthBehavior.

Proprietà

HasXmlSupport

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

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 alcun contenuto.

(Ereditato da ServiceHealthBehaviorBase)
HttpGetBinding

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

(Ereditato da ServiceHealthBehaviorBase)
HttpGetEnabled

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

(Ereditato da ServiceHealthBehaviorBase)
HttpGetUrl

Ottiene o imposta un URI che specifica l'indirizzo di pubblicazione dei metadati per il recupero tramite una richiesta HTTP/Get.

(Ereditato da ServiceHealthBehaviorBase)
HttpsGetBinding

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

(Ereditato da ServiceHealthBehaviorBase)
HttpsGetEnabled

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

(Ereditato da ServiceHealthBehaviorBase)
HttpsGetUrl

Ottiene o imposta un URI che specifica l'indirizzo di pubblicazione dei metadati per il recupero tramite una richiesta HTTPS/Get.

(Ereditato da ServiceHealthBehaviorBase)
ServiceStartTime

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

(Ereditato da ServiceHealthBehaviorBase)

Metodi

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 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 delle stringhe di query e restituisce il codice di risposta HTTP definito.

GetServiceHealthSections(ServiceHostBase)

Ottiene una raccolta degli oggetti ServiceHealthSection definiti in ServiceHealthBehavior.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetXmlDocument(ServiceHostBase)

Serializza l'oggetto ServiceHealthModel associato all'oggetto serviceHost specificato 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 dell'oggetto Object corrente.

(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 di stringa di query booleana e restituisce un valore che indica se l'operazione di analisi ha avuto esito positivo.

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 ha avuto esito positivo.

Implementazioni dell'interfaccia esplicita

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

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

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

Modifica i valori delle proprietà della fase di esecuzione o inserisce oggetti di estensione personalizzati, ad esempio gestori di errori, intercettatori 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