MessageFault クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
CreateMessage に渡してエラー情報を含むメッセージを作成することのできる SOAP エラーのメモリ内表現を表します。
public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
- 継承
-
MessageFault
例
次のコード例では、MessageFault の最も一般的な使用方法を示します。 ProvideFault と HandleError はどちらも、MessageFault オブジェクトを渡します。このオブジェクトは、変更してシステムに返したり (ProvideFault の場合)、またはなんらかの独自のエラー関連動作を実行するために使用したり (HandleError の場合) できます。
この例では、 メソッドはProvideFault、すべてのExceptionオブジェクトを 型GreetingFault
の オブジェクトをMessageFault含む FaultException<TDetail> オブジェクトに変換し、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
注釈
エラー情報を含む SOAP メッセージを作成するために変更および使用できるメモリ内の SOAP エラー表現が必要な場合は常に、MessageFault クラスを使用します。
通常、MessageFault クラスは、IErrorHandler インターフェイスを実装するときに使用します。 この場合、Windows Communication Foundation (WCF) は オブジェクトを MessageFault 渡し、特定のニーズに合わせて使用します (たとえば、 または をカスタマイズ MessageFault して障害情報をログに記録できます)。 ただし、MessageFault は、SOAP エラー メッセージのカスタム処理が必要な箇所ではどこでも使用できます。
コンストラクター
MessageFault() |
派生クラスで呼び出されると、MessageFault クラスの新しいインスタンスを初期化します。 |
プロパティ
Actor |
アクターの値を取得または設定します。 |
Code |
SOAP エラーコードを取得します。 |
HasDetail |
MessageFault に詳細オブジェクトがあるかどうかを示す値を取得します。 |
IsMustUnderstandFault |
このエラーが SOAP ヘッダー認識の失敗によって発生したものかどうかを示す値を取得します。 |
Node |
エラーの原因となったメッセージ パス上の SOAP ノードに関する情報を格納する SOAP ノードを取得します。 |
Reason |
SOAP エラーの説明文を取得します。 |
メソッド
適用対象
.NET