Partager via


MessageFault Classe

Définition

Représente une représentation en mémoire d'une erreur SOAP qui peut être passée à CreateMessage pour créer un message qui contient une erreur.

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
Héritage
MessageFault

Exemples

L'exemple de code suivant illustre l'utilisation la plus courante de MessageFault. ProvideFault et HandleError passent dans un objet MessageFault qui peut être modifié et retourné au système (dans le cas de ProvideFault) ou utilisé pour exécuter certains comportements associés à l'erreur (dans le cas de HandleError).

Dans cet exemple, la ProvideFault méthode convertit tous les Exception objets en un MessageFault objet qui contient un FaultException<TDetail> objet de type GreetingFault et retourne celui personnalisé MessageFault à 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

Remarques

Utilisez la classe MessageFault à chaque fois que vous avez besoin d'une erreur SOAP en mémoire qui peut être modifiée et utilisée pour créer un message SOAP qui contient les circonstances d'une panne.

En général, la classe MessageFault est utilisée lors de l'implémentation de l'interface IErrorHandler. Dans ce cas, Windows Communication Foundation (WCF) transmet l’objet et vous l’utilisez MessageFault pour vos besoins spécifiques (par exemple, vous pouvez personnaliser ou enregistrer les MessageFault informations d’erreur). Toutefois, MessageFault peut être utilisée partout où la gestion du message d'erreur SOAP personnalisée est requise.

Constructeurs

MessageFault()

En cas d'appel dans une classe dérivée, initialise une nouvelle instance de la classe MessageFault.

Propriétés

Actor

Obtient ou définit la valeur de l'acteur.

Code

Obtient le code d'erreur SOAP.

HasDetail

Obtient une valeur qui indique si MessageFault possède un objet de détail.

IsMustUnderstandFault

Obtient une valeur indiquant si cette erreur a été provoquée par l'incident pour comprendre un en-tête SOAP.

Node

Obtient le nœud SOAP contenant des informations qui déterminent quel nœud SOAP d'un chemin d'accès de message entraîne l'erreur.

Reason

Obtient une description textuelle d'une erreur SOAP.

Méthodes

CreateFault(FaultCode, FaultReason)

Retourne un nouvel objet MessageFault qui utilise les objets spécifiés FaultCode et FaultReason.

CreateFault(FaultCode, FaultReason, Object)

Retourne un nouvel objet MessageFault qui utilise le FaultCode, la FaultReason et l'objet de détail spécifiés.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Retourne un nouvel MessageFault objet qui utilise les objets , , FaultReasondétails et XmlObjectSerializer spécifiésFaultCode.

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

Retourne un nouvel objet MessageFault qui utilise le FaultCode, la FaultReason, l'objet de détail, le XmlObjectSerializer et l'acteur spécifiés.

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

Retourne un nouvel objet MessageFault qui utilise le FaultCode, la FaultReason, l'objet de détail, le XmlObjectSerializer, l'acteur et les valeurs de nœud spécifiés.

CreateFault(FaultCode, String)

Retourne un nouvel objet MessageFault qui utilise le FaultCode et la raison de l'erreur spécifiés.

CreateFault(Message, Int32)

Retourne un nouvel objet MessageFault qui utilise le Message spécifié et la taille de mémoire tampon maximale spécifiée pour la mémoire tampon de message.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetDetail<T>()

Retourne l'objet de détail de l'erreur du message.

GetDetail<T>(XmlObjectSerializer)

Retourne l'objet de détail qui utilise le XmlObjectSerializer spécifié.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetReaderAtDetailContents()

Retourne un objet XmlDictionaryReader positionné sur l'objet de détail de l'MessageFault.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnGetReaderAtDetailContents()

En cas d'appel dans une classe dérivée, retourne un objet XmlDictionaryReader positionné sur l'objet de détail de l'MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Appelée avant d'écrire le contenu de détail.

OnWriteDetailContents(XmlDictionaryWriter)

En cas de substitution dans une classe dérivée non abstraite, écrit le contenu de l'élément de détail.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Écrit l'élément de début à l'aide du XmlDictionaryWriter et de la version d'enveloppe SOAP spécifiés.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Obtient une valeur indiquant si les en-têtes de message SOAP ont été compris.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Écrit l'erreur de message qui utilise le XmlDictionaryWriter et la version d'enveloppe SOAP spécifiés.

WriteTo(XmlWriter, EnvelopeVersion)

Écrit l'erreur de message qui utilise le XmlWriter et la version d'enveloppe SOAP spécifiés.

S’applique à