다음을 통해 공유


ServiceHealthBehavior 클래스

정의

상태 엔드포인트를 제공하는 WCF(Windows Communication Foundation) 서비스 동작을 제공합니다.

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 는 IServiceBehavior를 확장하고 에서 ServiceHealthBehaviorBase파생되는 WCF 서비스 동작입니다. 컬렉션에 인스턴스를 ServiceHealthBehaviorServiceDescription.Behaviors 추가하면 다음을 수행할 수 있습니다.

  • Service Health 게시: 서비스 상태, 제한 횟수 및 용량과 같은 서비스별 세부 정보는 쿼리 문자열과 함께 ?health HTTP/GET 요청을 사용하여 표시할 수 있습니다. 잘못된 WCF 서비스 문제를 해결할 때 표시되는 정보를 알고 쉽게 액세스할 수 있는 것이 가장 중요합니다.

  • HTTP 응답 코드 반환: 쿼리 문자열에서 HTTP/GET 상태 프로브 요청에 대한 HTTP 상태 코드를 지정할 수 있습니다.

상태 엔드포인트는 상태를 모니터링하는 구성 요소의 컨텍스트에서만 의미가 있습니다. 그것은 다른 의미나 목적이 없습니다. 따라서 해당 상태는 구성 요소의 상태에 대한 통로입니다. 클라이언트는 상태 엔드포인트에서 반환된 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

HTTP/Get 요청을 사용하여 검색을 위한 메타데이터가 게시되는 주소를 지정하는 URI를 가져오거나 설정합니다.

(다음에서 상속됨 ServiceHealthBehaviorBase)
HttpsGetBinding

HTTPS/Get 요청을 통해 상태 검색에 사용되는 바인딩을 가져오거나 설정합니다.

(다음에서 상속됨 ServiceHealthBehaviorBase)
HttpsGetEnabled

HTTPS/Get 요청을 사용하여 검색을 위한 서비스 메타데이터를 게시하는지 여부를 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 ServiceHealthBehaviorBase)
HttpsGetUrl

HTTPS/Get 요청을 사용하여 검색을 위한 메타데이터가 게시되는 주소를 지정하는 URI를 가져오거나 설정합니다.

(다음에서 상속됨 ServiceHealthBehaviorBase)
ServiceStartTime

상태 검사 서비스가 시작된 시간과 날짜를 가져옵니다.

(다음에서 상속됨 ServiceHealthBehaviorBase)

메서드

AddHttpProperty(Message, HttpStatusCode, Boolean)

응답 메시지에 대한 콘텐츠 형식 및 HTTP 상태 코드를 설정합니다.

EnsureHttpStatusCode(Int32)

HTTP 상태 코드가 200~599(포함)의 범위 내에 있는지 확인합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetHttpResponseCode(ServiceHostBase, String[])

쿼리 문자열 필드를 구문 분석하고 정의된 해당 HTTP 응답 코드를 반환합니다.

GetServiceHealthSections(ServiceHostBase)

ServiceHealthBehavior에 정의된 ServiceHealthSection 개체의 컬렉션을 가져옵니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetXmlDocument(ServiceHostBase)

지정된 serviceHost와 연결된 ServiceHealthModel 개체를 직렬화하고 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)

적용 대상