내보내기(0) 인쇄
모두 확장

MessageFault 클래스

업데이트: 2007년 11월

오류가 포함된 메시지를 만들기 위해 CreateMessage로 전달할 수 있는 SOAP 오류의 메모리 내 표현을 나타냅니다.

네임스페이스:  System.ServiceModel.Channels
어셈블리:  System.ServiceModel(System.ServiceModel.dll)

public abstract class MessageFault
public abstract class MessageFault
public abstract class MessageFault

오류 정보가 포함된 SOAP 메시지를 만들기 위해 수정하여 사용할 수 있는 메모리 내 SOAP 오류가 필요할 때는 언제든지 MessageFault 클래스를 사용하십시오.

일반적으로 MessageFault 클래스는 IErrorHandler 인터페이스를 구현할 때 사용됩니다. 이 경우 WCF(Windows Communication Foundation)는 MessageFault 개체를 전달하며 사용자는 이 개체를 특정 요구에 맞게 사용합니다. 예를 들어, MessageFault를 사용자 지정하거나 오류 정보를 기록할 수 있습니다. 하지만 사용자 지정 SOAP 오류 메시지 처리가 필요한 경우 언제든지 MessageFault를 사용할 수 있습니다.

다음 코드 예제에서는 MessageFault의 가장 일반적인 사용 예를 보여 줍니다. ProvideFaultHandleError는 모두 ProvideFault의 경우 수정하여 시스템에 반환하거나 HandleError의 경우 사용자 지정 오류 관련 동작을 수행하기 위해 사용할 수 있는 MessageFault 개체를 전달합니다.

이 예제에서 ProvideFault 메서드는 모든 Exception 개체를 GreetingFault 형식의 FaultException<TDetail> 개체가 포함된 MessageFault 개체로 변환하며 이 사용자 지정 MessageFault를 WCF에 반환합니다.

#region IErrorHandler Members
public bool HandleError(Exception error)
{
  Console.WriteLine("HandleError called.");
  // Returning true indicates you performed your behavior.
  return true;
}

// This is a trivial implementation that converts Exception to FaultException<GreetingFault>.
public void ProvideFault(
  Exception error,
  MessageVersion ver,
  ref Message msg
)
{
  Console.WriteLine("ProvideFault called. Converting Exception to GreetingFault....");
  FaultException<GreetingFault> fe 
    = new FaultException<GreetingFault>(new GreetingFault(error.Message));
  MessageFault fault = fe.CreateMessageFault();
  msg = Message.CreateMessage(
    ver, 
    fault, 
    "http://microsoft.wcf.documentation/ISampleService/SampleMethodGreetingFaultFault"
  );
}
#endregion


System.Object
  System.ServiceModel.Channels.MessageFault

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

Windows Vista, Windows XP SP2, Windows Server 2003, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0에서 지원

.NET Compact Framework

3.5에서 지원

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft