ServiceHealthBehavior Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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 ServiceHealthBehavior
ServiceDescription.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 |
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) |