XMLSerializer 오류
샘플에서는 XmlSerializer를 사용하여 오류 정보를 서비스에서 클라이언트로 전달하는 방법을 보여 줍니다. 이 샘플은 시작에 기반을 두고 있으며 내부 예외를 오류로 변환하기 위해 일부 코드가 서비스에 추가되었습니다. 클라이언트는 서비스에서 오류 조건을 강제하기 위해 0으로 나누기를 시도합니다.
참고 항목
이 샘플의 설치 절차 및 빌드 지침은 이 항목의 끝부분에 나와 있습니다.
다음 샘플 코드와 같이 계산기 계약은 FaultContractAttribute를 포함하도록 수정되었습니다. 또한 XmlSerializerFormatAttribute를 사용한 serialization을 지원하도록 XmlSerializer를 사용합니다. 이 특성에 대해 SupportFaults 속성이 true
로 설정되어 오류를 읽고 쓰는 데 XmlSerializer를 사용하도록 serializer에 지시합니다.
[XmlSerializerFormat(SupportFaults=true)]
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
public interface ICalculator
{
[OperationContract]
int Add(int n1, int n2);
[OperationContract]
int Subtract(int n1, int n2);
[OperationContract]
int Multiply(int n1, int n2);
[OperationContract]
[FaultContract(typeof(MathFault))]
int Divide(int n1, int n2);
}
클라이언트 프록시에 대한 코드를 생성할 때 /UseSerializerForFaults 플래그를 ServiceModel Metadata 유틸리티 도구(Svcutil.exe)에 적용해야 합니다.
샘플을 설치, 빌드 및 실행하려면
Windows Communication Foundation 샘플의 일회 설치 절차를 수행했는지 확인합니다.
C# 또는 Visual Basic .NET 버전의 솔루션을 빌드하려면 Building the Windows Communication Foundation Samples의 지침을 따릅니다.
단일 컴퓨터 또는 다중 컴퓨터 구성에서 샘플을 실행하려면 Windows Communication Foundation 샘플 실행의 지침을 따릅니다.