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 변환하고 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 오류에 대한 텍스트 설명을 가져옵니다. |
메서드
적용 대상
.NET