Compartilhar via


ServiceHealthBehavior Classe

Definição

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
ServiceHealthBehavior

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 serviceHost especificado e retorna-o no formato XML.

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)

Aplica-se a