MessageFault Klasse

Definition

Stellt eine Speicherdarstellung eines SOAP-Fehlers dar, der CreateMessage übergeben werden kann, um eine Nachricht zu erstellen, die einen Fehler enthält.

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
Vererbung
MessageFault

Beispiele

Das folgende Codebeispiel zeigt die am häufigsten verwendete Verwendung von MessageFault. Sowohl das ProvideFaultHandleError Objekt als auch das Übergeben, MessageFault das geändert und an das System zurückgegeben werden kann (im Fall von ProvideFault) oder verwendet, um ein benutzerdefiniertes fehlerbezogenes Verhalten auszuführen (im Fall von HandleError).

In diesem Beispiel konvertiert die ProvideFault Methode alle Exception Objekte in ein MessageFault Objekt, das ein FaultException<TDetail> Objekt vom Typ GreetingFault enthält, und gibt diese an WCF angepasst MessageFault zurück.

#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

Hinweise

Verwenden Sie die MessageFault Klasse jedes Mal, wenn Sie einen SOAP-Fehler im Arbeitsspeicher benötigen, der geändert und verwendet werden kann, um eine SOAP-Nachricht zu erstellen, die die Fehlerinformationen enthält.

In der Regel wird die MessageFault Klasse beim Implementieren der IErrorHandler Schnittstelle verwendet. In diesem Fall übergibt Windows Communication Foundation (WCF) das MessageFault-Objekt, und Sie verwenden es für Ihre spezifischen Anforderungen (z. B. können Sie die MessageFault anpassen oder Fehlerinformationen protokollieren). Es kann jedoch überall verwendet werden, MessageFault wo eine benutzerdefinierte SOAP-Fehlernachrichtenbehandlung erforderlich ist.

Konstruktoren

Name Beschreibung
MessageFault()

Wenn sie in einer abgeleiteten Klasse aufgerufen wird, initialisiert sie eine neue Instanz der MessageFault Klasse.

Eigenschaften

Name Beschreibung
Actor

Dient zum Abrufen oder Festlegen des Werts des Akteurs.

Code

Ruft den SOAP-Fehlercode ab.

HasDetail

Ruft einen Wert ab, der angibt, ob das MessageFault Detailobjekt besitzt.

IsMustUnderstandFault

Ruft einen Wert ab, der angibt, ob dieser Fehler durch den Fehler verursacht wurde, um einen SOAP-Header zu verstehen.

Node

Ruft den SOAP-Knoten ab, der Informationen darüber enthält, welcher SOAP-Knoten auf einem Nachrichtenpfad den Fehler verursacht.

Reason

Ruft eine Textbeschreibung eines SOAP-Fehlers ab.

Methoden

Name Beschreibung
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String)

Gibt ein neues MessageFault Objekt zurück, das die angegebenen FaultCode, FaultReasonDetailobjekt-, XmlObjectSerializerAkteur- und Knotenwerte verwendet.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String)

Gibt ein neues MessageFault Objekt zurück, das das angegebene FaultCodeObjekt , FaultReasondas Detailobjekt XmlObjectSerializerund den Akteur verwendet.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Gibt ein neues MessageFault Objekt zurück, das das angegebene FaultCodeObjekt , FaultReasondas Detailobjekt und XmlObjectSerializer Objekte verwendet.

CreateFault(FaultCode, FaultReason, Object)

Gibt ein neues MessageFault Objekt zurück, das das angegebene FaultCode, FaultReason, und Detailobjekt verwendet.

CreateFault(FaultCode, FaultReason)

Gibt ein neues MessageFault Objekt zurück, das die angegebenen FaultCode Objekte und FaultReason Objekte verwendet.

CreateFault(FaultCode, String)

Gibt ein neues MessageFault Objekt zurück, das den angegebenen FaultCode und Fehlergrund verwendet.

CreateFault(Message, Int32)

Gibt ein neues MessageFault Objekt zurück, das die angegebene Message und die angegebene maximale Puffergröße für den Nachrichtenpuffer verwendet.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetDetail<T>()

Gibt das Detailobjekt des Nachrichtenfehlers zurück.

GetDetail<T>(XmlObjectSerializer)

Gibt das Detailobjekt zurück, das das angegebene XmlObjectSerializerObjekt verwendet.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetReaderAtDetailContents()

Gibt ein XmlDictionaryReader Objekt zurück, das im Detailobjekt der .MessageFault

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnGetReaderAtDetailContents()

Wenn sie in einer abgeleiteten Klasse aufgerufen wird, wird ein XmlDictionaryReader Objekt zurückgegeben, das im Detailobjekt des MessageFaultObjekts positioniert ist.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Wird vor dem Schreiben des Detailinhalts aufgerufen.

OnWriteDetailContents(XmlDictionaryWriter)

Wenn sie in einer nicht abstrakten abgeleiteten Klasse überschrieben wird, wird der Inhalt des Detailelements geschrieben.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Schreibt das Startelement mithilfe der angegebenen XmlDictionaryWriter und SOAP-Umschlagversion.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Ruft einen Wert ab, der angibt, ob die SOAP-Nachrichtenkopfzeilen verstanden wurden.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Schreibt den Nachrichtenfehler, der die angegebene XmlDictionaryWriter und SOAP-Umschlagversion verwendet.

WriteTo(XmlWriter, EnvelopeVersion)

Schreibt den Nachrichtenfehler, der die angegebene XmlWriter und SOAP-Umschlagversion verwendet.

Gilt für: