Поделиться через


ServiceHealthBehavior Класс

Определение

Предоставляет поведение службы Windows Communication Foundation (WCF), которое предоставляет конечную точку работоспособности.

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
Наследование
ServiceHealthBehavior

Комментарии

Конечные точки работоспособности используются для выполнения проверок работоспособности, которые оценивают работоспособность компонента. Конечные точки работоспособности можно использовать для:

  • Уведомлять средства оркестрации о том, что процесс завершается сбоем критической проверки работоспособности.

  • Служит в качестве раннего индикатора проблем для средств мониторинга путем отслеживания и предоставления оповещений о доступности и производительности службы.

ServiceHealthBehavior — это поведение службы WCF, которое расширяет IServiceBehavior и является производным от ServiceHealthBehaviorBase. Добавление экземпляра ServiceHealthBehavior в коллекцию ServiceDescription.Behaviors обеспечивает следующее:

  • Публикация данных о работоспособности служб: Сведения о службе, такие как состояние службы, число регулирования и емкость, можно отобразить с помощью http/GET-запроса со строкой ?health запроса. Знание и простой доступ к отображаемой информации имеет первостепенное значение при устранении неполадок с неправильной службой WCF.

  • Возврат кодов http-ответов: В строке запроса можно указать код состояния HTTP для запроса пробы работоспособности HTTP/GET.

Конечная точка работоспособности имеет смысл только в контексте компонента, работоспособность которого отслеживается. Он не имеет никакого другого смысла или цели. Таким образом, его работоспособность является каналом для работоспособности компонента. Клиенты должны предполагать , что код http-ответа, возвращаемый конечной точкой работоспособности, применим ко всему компоненту. Это совместимо с поведением, ожидаемым текущими инфраструктурными инструментами, которые используют проверки работоспособности, такие как подсистемы балансировки нагрузки, обнаружение служб и т. д.

Включение конечной точки работоспособности

Существует два способа указать способ предоставления конечной точки работоспособности и публикации сведений о работоспособности службы WCF.

  • С помощью файла конфигурации. Пример:

    <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultBehavior">
           <serviceHealth httpGetEnabled="true"/>
         </behavior>
       </serviceBehaviors>
    </behaviors>
    
  • Программно. В следующем фрагменте кода для предоставления конечной точки работоспособности используется C#:

    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);
    

Конструкторы

ServiceHealthBehavior()

Инициализирует новый экземпляр класса ServiceHealthBehavior.

Свойства

HasXmlSupport

Возвращает значение, указывающее, поддерживаются ли ответные сообщения в формате XML.

HealthDetailsEnabled

Возвращает или задает значение, указывающее, должна ли конечная точка работоспособности возвращать сведения о службе, или ответ не должен ничего содержать.

(Унаследовано от ServiceHealthBehaviorBase)
HttpGetBinding

Возвращает или задает привязку, которая используется для извлечения сведений о работоспособности с помощью запроса HTTP/Get.

(Унаследовано от ServiceHealthBehaviorBase)
HttpGetEnabled

Возвращает или задает значение, указывающее, следует ли опубликовывать метаданные службы для извлечения с помощью запроса HTTP/Get.

(Унаследовано от ServiceHealthBehaviorBase)
HttpGetUrl

Возвращает или задает универсальный код ресурса (URI), указывающий адрес, по которому метаданные публикуются для извлечения с использованием запроса HTTP/Get.

(Унаследовано от ServiceHealthBehaviorBase)
HttpsGetBinding

Возвращает или задает привязку, которая используется для извлечения сведений о работоспособности с помощью запроса HTTPS/Get.

(Унаследовано от ServiceHealthBehaviorBase)
HttpsGetEnabled

Возвращает или задает значение, указывающее, следует ли опубликовывать метаданные службы для извлечения с помощью запроса HTTPS/Get.

(Унаследовано от ServiceHealthBehaviorBase)
HttpsGetUrl

Возвращает или задает универсальный код ресурса (URI), указывающий адрес, по которому метаданные публикуются для извлечения с использованием запроса HTTPS/Get.

(Унаследовано от ServiceHealthBehaviorBase)
ServiceStartTime

Возвращает дату и время запуска службы проверки работоспособности.

(Унаследовано от ServiceHealthBehaviorBase)

Методы

AddHttpProperty(Message, HttpStatusCode, Boolean)

Задает тип содержимого и код состояния HTTP для сообщения ответа.

EnsureHttpStatusCode(Int32)

Проверяет, что код состояния HTTP находится в диапазоне от 200 до 599 включительно.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetHttpResponseCode(ServiceHostBase, String[])

Выполняет синтаксический анализ полей строки запроса и возвращает определенный код ответа HTTP.

GetServiceHealthSections(ServiceHostBase)

Возвращает коллекцию объектов ServiceHealthSection, определенных в ServiceHealthBehavior.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetXmlDocument(ServiceHostBase)

Сериализует объект ServiceHealthModel, связанный с указанным serviceHost, и возвращает его в формате XML.

HandleHealthRequest(ServiceHostBase, Message, String[], Message)

Возвращает ответное сообщение на указанный запрос.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TryParseBooleanQueryParameter(String, String, Boolean, Boolean)

Пытается выполнить синтаксический анализ логического параметра строки запроса и возвращает значение, указывающее, успешно ли была выполнена операция синтаксического анализа.

TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode)

Пытается выполнить синтаксический анализ кода состояния HTTP переменной со строкой запроса и возвращает значение, указывающее, успешно ли была выполнена операция синтаксического анализа.

Явные реализации интерфейса

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Передает настраиваемые данные в элементы привязки для предоставления поддержки реализации контакта.

(Унаследовано от ServiceHealthBehaviorBase)
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Изменяет значения свойств времени выполнения или вставляет объекты настраиваемых расширений, например, обработчики ошибок, перехватчики параметров или сообщения, а также другие объекты настраиваемых расширений.

(Унаследовано от ServiceHealthBehaviorBase)
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Проверяет узел и описание службы, чтобы подтвердить готовность службы к работе.

(Унаследовано от ServiceHealthBehaviorBase)

Применяется к