다음을 통해 공유


MessageFault 클래스

정의

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

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
상속
MessageFault

예제

다음 코드 예제에서는 가장 일반적인 MessageFault사용합니다. ProvideFault HandleError 수정하여 시스템에 반환하거나(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
#Region "IErrorHandler Members"
Public Function HandleError(ByVal [error] As Exception) As Boolean Implements IErrorHandler.HandleError
  Console.WriteLine("HandleError called.")
  ' Returning true indicates you performed your behavior.
  Return True
End Function

' This is a trivial implementation that converts Exception to FaultException<GreetingFault>.
Public Sub ProvideFault(ByVal [error] As Exception, ByVal ver As MessageVersion, ByRef msg As Message) Implements IErrorHandler.ProvideFault
  Console.WriteLine("ProvideFault called. Converting Exception to GreetingFault....")
  Dim fe As New FaultException(Of GreetingFault)(New GreetingFault([error].Message))
  Dim fault As MessageFault = fe.CreateMessageFault()
  msg = Message.CreateMessage(ver, fault, "http://microsoft.wcf.documentation/ISampleService/SampleMethodGreetingFaultFault")
End Sub
#End Region

설명

수정하고 오류 정보가 포함된 SOAP 메시지를 만드는 데 사용할 수 있는 메모리 내 SOAP 오류가 필요할 때마다 MessageFault 클래스를 사용합니다.

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

생성자

MessageFault()

파생 클래스에서 호출되면 MessageFault 클래스의 새 인스턴스를 초기화합니다.

속성

Actor

행위자의 값을 가져오거나 설정합니다.

Code

SOAP 오류 코드를 가져옵니다.

HasDetail

MessageFault 세부 정보 개체가 있는지 여부를 나타내는 값을 가져옵니다.

IsMustUnderstandFault

SOAP 헤더를 이해하지 못해 이 오류가 발생했는지 여부를 나타내는 값을 가져옵니다.

Node

메시지 경로에서 오류를 발생시키는 SOAP 노드에 대한 정보가 포함된 SOAP 노드를 가져옵니다.

Reason

SOAP 오류에 대한 텍스트 설명을 가져옵니다.

메서드

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String)

지정한 FaultCode, FaultReason, detail 개체, XmlObjectSerializer, 행위자 및 노드 값을 사용하는 새 MessageFault 개체를 반환합니다.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String)

지정한 FaultCode, FaultReason, detail 개체, XmlObjectSerializer및 행위자를 사용하는 새 MessageFault 개체를 반환합니다.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

지정한 FaultCode, FaultReason, 세부 정보 개체 및 XmlObjectSerializer 개체를 사용하는 새 MessageFault 개체를 반환합니다.

CreateFault(FaultCode, FaultReason, Object)

지정한 FaultCode, FaultReason및 세부 정보 개체를 사용하는 새 MessageFault 개체를 반환합니다.

CreateFault(FaultCode, FaultReason)

지정한 FaultCodeFaultReason 개체를 사용하는 새 MessageFault 개체를 반환합니다.

CreateFault(FaultCode, String)

지정한 FaultCode 및 오류 이유를 사용하는 새 MessageFault 개체를 반환합니다.

CreateFault(Message, Int32)

메시지 버퍼에 대해 지정된 Message 및 지정된 최대 버퍼 크기를 사용하는 새 MessageFault 개체를 반환합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetDetail<T>()

메시지 오류의 세부 정보 개체를 반환합니다.

GetDetail<T>(XmlObjectSerializer)

지정한 XmlObjectSerializer사용하는 세부 정보 개체를 반환합니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetReaderAtDetailContents()

MessageFault세부 정보 개체에 배치되는 XmlDictionaryReader 개체를 반환합니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnGetReaderAtDetailContents()

파생 클래스에서 호출되는 경우 MessageFault세부 개체에 배치되는 XmlDictionaryReader 개체를 반환합니다.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

세부 정보를 작성하기 전에 호출됩니다.

OnWriteDetailContents(XmlDictionaryWriter)

비 추상 파생 클래스에서 재정의되는 경우 세부 요소의 내용을 씁니다.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

지정된 XmlDictionaryWriter 및 SOAP 봉투 버전을 사용하여 시작 요소를 씁니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

SOAP 메시지 헤더가 이해되었는지 여부를 나타내는 값을 가져옵니다.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

지정된 XmlDictionaryWriter 및 SOAP 봉투 버전을 사용하는 메시지 오류를 씁니다.

WriteTo(XmlWriter, EnvelopeVersion)

지정된 XmlWriter 및 SOAP 봉투 버전을 사용하는 메시지 오류를 씁니다.

적용 대상