다음을 통해 공유


WCF 웹 HTTP 오류 처리

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

WCF 웹 HTTP 오류 처리

이 클래스는 WebFaultException HTTP 상태 코드를 지정할 수 있는 생성자를 정의합니다. 그러면 이 상태 코드가 클라이언트에 반환됩니다. 클래스 WebFaultExceptionWebFaultException<T> 제네릭 버전을 사용하면 발생한 오류에 대한 정보가 포함된 사용자 정의 형식을 반환할 수 있습니다. 이 사용자 지정 개체는 작업에서 지정한 형식을 사용하여 직렬화되고 클라이언트로 반환됩니다. 다음 예제에서는 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 엔드포인트를 노출하는 서비스에 대한 오류 처리 프로그래밍 모델로 사용할 수 있습니다.

참고하십시오