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 Windows Communication Foundation (WCF) 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 integridade são usados para executar verificações de integridade que avaliam a integridade de um componente. Os pontos de extremidade de integridade podem ser usados para:
Notifique as ferramentas de orquestração para encerrar um processo que está falhando em uma verificação de integridade crítica.
Serve como um indicador de problema inicial 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 à ServiceDescription.Behaviors coleção habilita o seguinte:
Publicação da Integridade do Serviço: Detalhes específicos do serviço, como estado de serviço, contagens de limitação e capacidade podem ser exibidos usando uma solicitação HTTP/GET com a cadeia de caracteres de
?healthconsulta. Saber e ter facilmente acesso às informações exibidas é de suma importância ao solucionar problemas de um serviço WCF mal comportado.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 integridade HTTP/GET.
Um ponto de extremidade de integridade só é significativo no contexto do componente cuja integridade ele monitora. Não tem outro significado ou propósito. Dessa forma, sua integridade é um canal para a integridade do componente. Os clientes devem assumir que o código de resposta HTTP retornado pelo ponto de extremidade de integridade é aplicável a todo o componente. Isso é compatível com o comportamento esperado pelas ferramentas infraestruturais atuais que utilizam verificações de integridade, como balanceadores de carga, descobertas de serviço e outros.
Habilitar um ponto de extremidade de integridade
Há duas maneiras de especificar como expor o ponto de extremidade de integridade e publicar informações de integridade 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 integridade:
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
| Nome | Description |
|---|---|
| ServiceHealthBehavior() |
Inicializa uma nova instância da classe ServiceHealthBehavior. |
Propriedades
| Nome | Description |
|---|---|
| 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 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 do 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 ao 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 do serviço devem ser publicados para recuperação usando uma solicitação HTTPS/Get. (Herdado de ServiceHealthBehaviorBase) |
| HttpsGetUrl |
Obtém ou define um Uri que especifica o endereço ao 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
| Nome | Description |
|---|---|
| AddHttpProperty(Message, HttpStatusCode, Boolean) |
Define o tipo de conteúdo e o código de status HTTP para a mensagem de resposta. |
| EnsureHttpStatusCode(Int32) |
Verifique se o código de status HTTP está dentro do intervalo de 200 e 599, inclusive. |
| 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 da cadeia de caracteres de consulta e retorna seu código de resposta HTTP definido. |
| GetServiceHealthSections(ServiceHostBase) |
Obtém uma coleção dos ServiceHealthSection objetos definidos no ServiceHealthBehavior. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetXmlDocument(ServiceHostBase) |
Serializa o ServiceHealthModel objeto associado ao especificado |
| HandleHealthRequest(ServiceHostBase, Message, String[], Message) |
Retorna a mensagem de resposta a uma solicitação especificada. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (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 caracteres 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 caracteres de consulta e retorna um valor que indica se a operação de análise foi bem-sucedida. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Passa dados personalizados para elementos de associação para dar suporte à implementação de contato. (Herdado de ServiceHealthBehaviorBase) |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Altera valores de propriedade em tempo de execução ou insere objetos de extensão personalizados, como manipuladores de erros, interceptadores 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) |