ServiceHealthBehavior Classe

Definição

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
ServiceHealthBehavior

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

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)

Aplica-se a