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ę błędu protokołu SOAP w pamięci, którą można przekazać w CreateMessage 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 metody MessageFault. Zarówno obiekt ProvideFault , jak i HandleError przekaż MessageFault obiekt, który można zmodyfikować i powrócić do systemu (w przypadku ProvideFaultprogramu ) lub służy do wykonywania pewnych niestandardowych zachowań związanych z błędami (w przypadku HandleErrorprogramu ).
W tym przykładzie ProvideFault metoda konwertuje wszystkie Exception obiekty na MessageFault obiekt zawierający FaultException<TDetail> obiekt typu GreetingFault
i zwraca dane dostosowane MessageFault do programu 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
MessageFault Użyj klasy w dowolnym momencie, gdy potrzebny jest błąd 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.
MessageFault Zazwyczaj klasa jest używana podczas implementowania interfejsuIErrorHandler. W takim przypadku program Windows Communication Foundation (WCF) przekazuje MessageFault obiekt i używa go do określonych potrzeb (na przykład można dostosować obiekt MessageFault lub do rejestrowania informacji o błędach). MessageFault Można jednak używać w dowolnym miejscu, w którym 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 MessageFault klasy. |
Właściwości
Actor |
Pobiera lub ustawia wartość aktora. |
Code |
Pobiera kod błędu protokołu SOAP. |
HasDetail |
Pobiera wartość wskazującą, czy obiekt MessageFault zawiera obiekt detail. |
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 na ścieżce komunikatu powoduje błąd. |
Reason |
Pobiera tekstowy opis błędu protokołu SOAP. |
Metody
CreateFault(FaultCode, FaultReason) |
Zwraca nowy MessageFault obiekt, który używa określonego FaultCode obiektu i FaultReason . |
CreateFault(FaultCode, FaultReason, Object) |
Zwraca nowy MessageFault obiekt, który używa określonego FaultCodeobiektu , FaultReasoni detail. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer) |
Zwraca nowy MessageFault obiekt, który używa określonego FaultCodeobiektu , FaultReason, obiektu szczegółów i XmlObjectSerializer obiektów. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String) |
Zwraca nowy MessageFault obiekt, który używa określonego FaultCodeobiektu , , FaultReasonobiektu szczegółów, XmlObjectSerializeri aktora. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String) |
Zwraca nowy MessageFault obiekt, który używa określonych FaultCodewartości , , FaultReasonobiektu szczegółów, XmlObjectSerializeraktora i węzła. |
CreateFault(FaultCode, String) |
Zwraca nowy MessageFault obiekt, który używa określonego FaultCode i przyczyny błędu. |
CreateFault(Message, Int32) |
Zwraca nowy MessageFault obiekt, który używa określonego Message i określonego maksymalnego rozmiaru buforu dla buforu komunikatów. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (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 XmlObjectSerializerobiektu . |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetReaderAtDetailContents() |
XmlDictionaryReader Zwraca obiekt umieszczony w obiekcie szczegółów obiektu MessageFault. |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnGetReaderAtDetailContents() |
Po wywołaniu w klasie pochodnej zwraca XmlDictionaryReader obiekt umieszczony w obiekcie szczegółów obiektu MessageFault. |
OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion) |
Wywoływane przed zapisaniem zawartości szczegółów. |
OnWriteDetailContents(XmlDictionaryWriter) |
Po przesłonięciu w klasie pochodnej nie abstrakcyjnej zapisuje zawartość elementu detail. |
OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion) |
Zapisuje element początkowy przy użyciu określonej XmlDictionaryWriter wersji 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 XmlDictionaryWriter wersji koperty protokołu SOAP. |
WriteTo(XmlWriter, EnvelopeVersion) |
Zapisuje błąd komunikatu, który używa określonej XmlWriter wersji koperty protokołu SOAP. |