Share via


WCF 웹 HTTP 오류 처리

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

WCF 웹 HTTP 오류 처리

WebFaultException 클래스는 HTTP 상태 코드를 지정할 수 있도록 하는 생성자를 정의합니다. 이 상태 코드는 나중에 클라이언트에 반환됩니다. WebFaultException 클래스의 제네릭 버전인 WebFaultException을 사용하면 발생한 오류에 대한 정보가 들어 있는 사용자 정의 형식을 반환할 수 있습니다. 이 사용자 지정 개체는 작업에 지정된 형식을 사용하여 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 끝점을 둘 다 노출하는 서비스의 오류 예외 프로그래밍 모델로 사용될 수 있습니다. HTTP가 오류 동작을 나타내는 메타데이터 문서를 정의하지 않으므로, WebFaultException 기능은 서버측 기능이기 때문에 WCF 클라이언트 프록시 프로그래밍 모델에 적용되지 않습니다.

참고 항목

개념

WCF 웹 HTTP 형식 지정
오류 정의 및 지정
예외 및 오류 처리
오류 보내기 및 받기

기타 리소스

WCF 웹 HTTP 프로그래밍 모델