WCF 웹 HTTP 오류 처리

WCF(Windows Communication Foundation) 웹 HTTP 오류 처리를 사용하면 HTTP 상태 코드를 지정하고 작업과 동일한 형식(예: XML 또는 JSON)을 사용하여 오류 정보를 반환하는 WCF 웹 HTTP 서비스에서 오류를 반환할 수 있습니다.

WCF 웹 HTTP 오류 처리

WebFaultException 클래스는 HTTP 상태 코드를 지정할 수 있도록 하는 생성자를 정의합니다. 이 상태 코드는 나중에 클라이언트에 반환됩니다. WebFaultException 클래스의 제네릭 버전인 WebFaultException<T>을 사용하면 발생한 오류에 대한 정보가 들어 있는 사용자 정의 형식을 반환할 수 있습니다. 이 사용자 지정 개체는 작업에 지정된 형식을 사용하여 serialize되고 클라이언트에 반환됩니다. 다음 예제에서는 HTTP 상태 코드를 반환하는 방법을 보여 줍니다.

public string Operation1()
{
    // Operation logic  
   // ...
   throw new WebFaultException(HttpStatusCode.Forbidden);
}  

다음 예제에서는 HTTP 상태 코드와 추가 정보를 사용자 정의 형식에 반환하는 방법에 대해 설명합니다. MyErrorDetail은 발생한 오류에 대한 추가 정보를 포함하는 사용자 정의 형식입니다.

public string Operation2()
{
   // Operation logic  
   // ...
   MyErrorDetail detail = new MyErrorDetail()
   {  
      Message = "Error Message",  
      ErrorCode = 123,  
   }  
   throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);  
}  

위의 코드에서는 사용할 수 없음 상태 코드 및 MyErrorDetails 개체의 인스턴스가 포함된 본문과 함께 HTTP 응답을 반환합니다. MyErrorDetails 개체의 형식은 다음에 의해 결정됩니다.

이러한 값이 작업의 서식에 미치는 영향에 대한 자세한 내용은 WCF 웹 HTTP 서식을 참조하세요.

WebFaultExceptionFaultException이므로 SOAP 엔드포인트와 웹 HTTP 엔드포인트를 둘 다 노출하는 서비스의 오류 예외 프로그래밍 모델로 사용될 수 있습니다.

참고 항목