MessageFault Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje reprezentację w pamięci błędu protokołu SOAP, który można przekazać do CreateMessage w celu utworzenia komunikatu zawierającego błąd.
public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
- Dziedziczenie
-
MessageFault
Przykłady
Poniższy przykład kodu przedstawia najbardziej typowe użycie MessageFault. Zarówno ProvideFault, jak i HandleError przekazać obiekt MessageFault, który można zmodyfikować i powrócić do systemu (w przypadku ProvideFault) lub użyć do wykonania niestandardowego zachowania związanego z błędami (w przypadku HandleError).
W tym przykładzie metoda ProvideFault konwertuje wszystkie obiekty Exception na obiekt MessageFault zawierający obiekt FaultException<TDetail> typu GreetingFault
i zwraca dostosowany MessageFault do usługi 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
Uwagi
Użyj klasy MessageFault w dowolnym momencie, gdy potrzebujesz błędu protokołu SOAP w pamięci, który można zmodyfikować i użyć do utworzenia komunikatu PROTOKOŁU SOAP zawierającego informacje o błędzie.
Zazwyczaj klasa MessageFault jest używana podczas implementowania interfejsu IErrorHandler. W takim przypadku program Windows Communication Foundation (WCF) przekazuje obiekt MessageFault i używa go do określonych potrzeb (na przykład można dostosować MessageFault lub rejestrować informacje o błędach). Jednak MessageFault można używać wszędzie tam, gdzie wymagana jest niestandardowa obsługa komunikatów o błędach protokołu SOAP.
Konstruktory
MessageFault() |
Po wywołaniu w klasie pochodnej inicjuje nowe wystąpienie klasy MessageFault. |
Właściwości
Actor |
Pobiera lub ustawia wartość aktora. |
Code |
Pobiera kod błędu protokołu SOAP. |
HasDetail |
Pobiera wartość wskazującą, czy MessageFault ma obiekt szczegółów. |
IsMustUnderstandFault |
Pobiera wartość wskazującą, czy ten błąd został spowodowany przez błąd zrozumienia nagłówka protokołu SOAP. |
Node |
Pobiera węzeł SOAP zawierający informacje o tym, który węzeł SOAP w ścieżce komunikatu powoduje błąd. |
Reason |
Pobiera tekstowy opis błędu protokołu SOAP. |
Metody
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String) |
Zwraca nowy obiekt MessageFault, który używa określonych wartości FaultCode, FaultReason, obiektu szczegółów, XmlObjectSerializer, aktora i węzła. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String) |
Zwraca nowy obiekt MessageFault, który używa określonego obiektu FaultCode, FaultReason, obiektu szczegółów, XmlObjectSerializeri aktora. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer) |
Zwraca nowy obiekt MessageFault, który używa określonego obiektu FaultCode, FaultReason, obiektu szczegółów i obiektów XmlObjectSerializer. |
CreateFault(FaultCode, FaultReason, Object) |
Zwraca nowy obiekt MessageFault, który używa określonego obiektu FaultCode, FaultReasoni szczegółów. |
CreateFault(FaultCode, FaultReason) |
Zwraca nowy obiekt MessageFault, który używa określonych obiektów FaultCode i FaultReason. |
CreateFault(FaultCode, String) |
Zwraca nowy obiekt MessageFault, który używa określonego FaultCode i przyczyny błędu. |
CreateFault(Message, Int32) |
Zwraca nowy obiekt MessageFault, który używa określonego Message i określonego maksymalnego rozmiaru buforu dla buforu komunikatów. |
Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
GetDetail<T>() |
Zwraca obiekt szczegółów błędu komunikatu. |
GetDetail<T>(XmlObjectSerializer) |
Zwraca obiekt szczegółów, który używa określonego XmlObjectSerializer. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetReaderAtDetailContents() |
Zwraca obiekt XmlDictionaryReader umieszczony na obiekcie szczegółów MessageFault. |
GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
OnGetReaderAtDetailContents() |
Po wywołaniu w klasie pochodnej zwraca obiekt XmlDictionaryReader umieszczony na obiekcie szczegółów MessageFault. |
OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion) |
Wywoływane przed zapisaniem zawartości szczegółów. |
OnWriteDetailContents(XmlDictionaryWriter) |
Po przesłonięciu w klasie pochodnej innej niż abstrakcyjna zapisuje zawartość elementu detail. |
OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion) |
Zapisuje element startowy przy użyciu określonej wersji XmlDictionaryWriter i koperty PROTOKOŁU SOAP. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
WasHeaderNotUnderstood(MessageHeaders, String, String) |
Pobiera wartość wskazującą, czy nagłówki komunikatów PROTOKOŁU SOAP zostały zrozumiane. |
WriteTo(XmlDictionaryWriter, EnvelopeVersion) |
Zapisuje błąd komunikatu, który używa określonej wersji XmlDictionaryWriter i koperty protokołu SOAP. |
WriteTo(XmlWriter, EnvelopeVersion) |
Zapisuje błąd komunikatu, który używa określonej wersji XmlWriter i koperty protokołu SOAP. |