ServiceHealthBehavior Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece um comportamento de serviço WCF (Windows Communication Foundation) que fornece um ponto de extremidade de integridade.
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
- Herança
Comentários
Os pontos de extremidade de saúde são usados para executar verificações de saúde que avaliam a saúde de um componente. Os pontos de extremidade de saúde podem ser usados para:
Notifique as ferramentas de orquestração para que um processo que está falhando em uma verificação de saúde crítica.
Servir como um indicador de problema antecipado para ferramentas de monitoramento acompanhando e fornecendo alertas sobre a disponibilidade e o desempenho de um serviço.
ServiceHealthBehavior
é um comportamento de serviço WCF que estende IServiceBehavior e deriva de ServiceHealthBehaviorBase . Adicionar uma ServiceHealthBehavior
instância à coleção permite o ServiceDescription.Behaviors seguinte:
Publicação da Service Health: Detalhes específicos do serviço, como estado do serviço, contagens de aceleração e capacidade, podem ser exibidos usando uma solicitação HTTP/GET com a cadeia
?health
de caracteres de consulta. Conhecer e facilmente ter acesso às informações exibidas é de fundamental importância ao solucionar problemas de um serviço WCF com comportamento indelicado.Retorno de códigos de resposta HTTP: É possível especificar na cadeia de consulta o código de status HTTP para uma solicitação de investigação de saúde HTTP/GET.
Um ponto de extremidade de saúde só é significativo no contexto do componente cuja saúde ele monitora. Ele não tem nenhum outro significado ou finalidade. Assim, sua saúde é um canal para a saúde do componente. Os clientes devem presumir que o código de resposta HTTP retornado pelo ponto de extremidade de saúde é aplicável a todo o componente. Isso é compatível com o comportamento esperado pelas ferramentas infraestruturais atuais que utilizam verificações de saúde, como balanceadores de carga, descobertas de serviço e outros.
Habilitar um ponto de extremidade de saúde
Há duas maneiras de especificar como expor o ponto de extremidade de saúde e publicar informações de saúde do serviço WCF:
Usando um arquivo de configuração. Por exemplo:
<behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceHealth httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>
Programaticamente. O fragmento de código a seguir usa C# para expor o ponto de extremidade de saúde:
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);
Construtores
ServiceHealthBehavior() |
Inicializa uma nova instância da classe ServiceHealthBehavior. |
Propriedades
HasXmlSupport |
Obtém um valor que indica se há suporte para mensagens de resposta XML. |
HealthDetailsEnabled |
Obtém ou define um valor que especifica se o ponto de extremidade de integridade deve retornar os detalhes do serviço ou se a resposta não deve conter nenhum conteúdo. (Herdado de ServiceHealthBehaviorBase) |
HttpGetBinding |
Obtém ou define a associação usada para recuperação de integridade por meio de uma solicitação HTTP/Get. (Herdado de ServiceHealthBehaviorBase) |
HttpGetEnabled |
Obtém ou define um valor que especifica se os metadados de serviço devem ser publicados para recuperação usando uma solicitação HTTP/Get. (Herdado de ServiceHealthBehaviorBase) |
HttpGetUrl |
Obtém ou define um URI que especifica o endereço no qual os metadados são publicados para recuperação usando uma solicitação HTTP/Get. (Herdado de ServiceHealthBehaviorBase) |
HttpsGetBinding |
Obtém ou define a associação usada para recuperação de integridade por meio de uma solicitação HTTPS/Get. (Herdado de ServiceHealthBehaviorBase) |
HttpsGetEnabled |
Obtém ou define um valor que especifica se os metadados de serviço devem ser publicados para recuperação usando uma solicitação HTTP/Get. (Herdado de ServiceHealthBehaviorBase) |
HttpsGetUrl |
Obtém ou define um URI que especifica o endereço no qual os metadados são publicados para recuperação usando uma solicitação HTTPS/Get. (Herdado de ServiceHealthBehaviorBase) |
ServiceStartTime |
Obtém a data e a hora em que o serviço de verificação de integridade foi iniciado. (Herdado de ServiceHealthBehaviorBase) |
Métodos
AddHttpProperty(Message, HttpStatusCode, Boolean) |
Define o tipo de conteúdo e o código de status HTTP da mensagem de resposta. |
EnsureHttpStatusCode(Int32) |
Verifique se o código de status HTTP está dentro do intervalo de 200 a 599 (incluindo este número). |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetHttpResponseCode(ServiceHostBase, String[]) |
Analisa os campos de cadeia de consulta e retorna seu código de resposta HTTP definido. |
GetServiceHealthSections(ServiceHostBase) |
Obtém uma coleção dos objetos ServiceHealthSection definidos no ServiceHealthBehavior. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetXmlDocument(ServiceHostBase) |
Serializa o objeto ServiceHealthModel associado ao |
HandleHealthRequest(ServiceHostBase, Message, String[], Message) |
Retorna a mensagem de resposta para uma solicitação especificada. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TryParseBooleanQueryParameter(String, String, Boolean, Boolean) |
Tenta analisar um parâmetro de cadeia de consulta booliana e retorna um valor que indica se a operação de análise foi bem-sucedida. |
TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode) |
Tenta analisar o código de status HTTP de uma variável de cadeia de consulta e retorna um valor que indica se a operação de análise foi bem-sucedida. |
Implantações explícitas de interface
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Passa os dados personalizados para elementos de associação para dar suporte à implementação do contato. (Herdado de ServiceHealthBehaviorBase) |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Altera valores de propriedade do tempo de execução ou insere objetos de extensão personalizados, como manipuladores de erro, interceptores de mensagens ou parâmetros, extensões de segurança e outros objetos de extensão personalizados. (Herdado de ServiceHealthBehaviorBase) |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Inspeciona o host de serviço e a descrição do serviço para confirmar se o serviço pode ser executado com êxito. (Herdado de ServiceHealthBehaviorBase) |