다음을 통해 공유


방법: 서비스 계약에 오류 선언

관리 코드에서 오류 조건이 발생하면 예외가 throw됩니다. 그러나 WCF(Windows Communication Foundation) 응용 프로그램에서는 서비스 계약에 SOAP 오류를 선언하여 서비스 계약이 클라이언트에 반환되는 오류 정보를 지정합니다. 예외와 오류 간의 관계 개요는 계약 및 서비스에서 오류 지정 및 처리를 참조하십시오.

SOAP 오류를 지정하는 서비스 계약 만들기

  1. 작업을 하나 이상 포함하는 서비스 계약을 만듭니다. 예제를 보려면 방법: Windows Communication Foundation 서비스 계약 정의를 참조하십시오.

  2. 클라이언트가 알림을 받을 수 있는 오류 조건을 지정할 수 있는 작업을 선택합니다. SOAP 오류를 클라이언트로 반환할 오류 조건을 결정하려면 계약 및 서비스에서 오류 지정 및 처리를 참조하십시오.

  3. 선택한 작업에 System.ServiceModel.FaultContractAttribute를 적용하고 serialize할 수 있는 오류 형식을 생성자에 전달합니다. serialize할 수 있는 형식을 만들고 사용하는 방법에 대한 자세한 내용은 서비스 계약에서 데이터 전송 지정을 참조하십시오. 다음 예제에서는 SampleMethod 작업으로 인해 GreetingFault가 발생하도록 지정하는 방법을 보여 줍니다.

  4. 오류 조건을 클라이언트에 전달하는 계약의 모든 작업에 대해 2단계와 3단계를 반복합니다.

지정한 SOAP 오류를 반환하는 작업 구현

앞의 절차와 같이 특정 SOAP 오류를 반환하여 오류 조건을 호출 응용 프로그램에 전달할 수 있도록 작업에서 지정하고 나면 다음 단계로 해당 사양을 구현합니다.

작업에서 지정한 SOAP 오류 throw

  1. FaultContractAttribute에 지정된 오류 조건이 작업에서 발생하면 지정한 SOAP 오류가 형식 매개 변수인 새 System.ServiceModel.FaultException을 throw합니다. 다음 예제에서는 앞의 절차와 다음 코드 섹션에 표시된 SampleMethod에서 GreetingFault를 throw하는 방법을 보여 줍니다.

예제

다음 코드 예제에서는 SampleMethod 작업에 대해 GreetingFault를 지정하는 단일 작업 구현을 보여 줍니다.

참고 항목

참조

System.ServiceModel.FaultContractAttribute
System.ServiceModel.FaultException