MessageFault 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오류를 포함하는 메시지를 만들기 위해 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 오류에 대한 텍스트 설명을 가져옵니다. |
메서드
적용 대상
.NET