다음을 통해 공유


MessageFault 클래스

정의

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

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

예제

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

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

#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

설명

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

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

생성자

MessageFault()

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

속성

Actor

actor의 값을 가져오거나 설정합니다.

Code

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

HasDetail

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

IsMustUnderstandFault

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

Node

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

Reason

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

메서드

CreateFault(FaultCode, FaultReason)

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

CreateFault(FaultCode, FaultReason, Object)

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

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

지정된 FaultCode, , FaultReasondetail 개체 및 XmlObjectSerializer 개체를 사용하는 새 MessageFault 개체를 반환합니다.

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

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

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

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

CreateFault(FaultCode, String)

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

CreateFault(Message, Int32)

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

Equals(Object)

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

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

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

GetDetail<T>(XmlObjectSerializer)

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

GetHashCode()

기본 해시 함수로 작동합니다.

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

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

GetType()

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

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

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

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

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

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 봉투 버전을 사용하는 메시지 오류를 씁니다.

적용 대상