MessageFault Klasse

Definition

Stellt eine Speicherdarstellung eines SOAP-Fehlers dar, der an 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 die ProvideFault als auch die HandleError übergeben ein MessageFault-Objekt, das geändert und an das System zurückgegeben werden kann (im Fall von ProvideFault) oder zum Ausführen eines benutzerdefinierten fehlerbezogenen Verhaltens (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 angepasste MessageFault an WCF 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). MessageFault kann jedoch überall verwendet werden, wo eine benutzerdefinierte SOAP-Fehlermeldungsbehandlung erforderlich ist.

Konstruktoren

MessageFault()

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

Eigenschaften

Actor

Dient zum Abrufen oder Festlegen des Werts des Akteurs.

Code

Ruft den SOAP-Fehlercode ab.

HasDetail

Ruft einen Wert ab, der angibt, ob die MessageFault über ein Detailobjekt verfügt.

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

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

Gibt ein neues MessageFault -Objekt zurück, das die angegebenen FaultCode, FaultReason, Detailobjekt, XmlObjectSerializer, Akteur und Knotenwerte verwendet.

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

Gibt ein neues MessageFault -Objekt zurück, das die angegebene FaultCode, FaultReason, Detailobjekt, XmlObjectSerializerund Akteur verwendet.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

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

CreateFault(FaultCode, FaultReason, Object)

Gibt ein neues MessageFault -Objekt zurück, das das angegebene FaultCode, FaultReasonund Detailobjekt verwendet.

CreateFault(FaultCode, FaultReason)

Gibt ein neues MessageFault -Objekt zurück, das die angegebenen FaultCode 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 die angegebene XmlObjectSerializerverwendet.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetReaderAtDetailContents()

Gibt ein XmlDictionaryReader -Objekt zurück, das im Detailobjekt des MessageFaultpositioniert ist.

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 der MessageFaultpositioniert 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: