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.Represents an in-memory representation of a SOAP fault that can be passed to CreateMessage to create a message that contains a fault.

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.The following code example shows the most common use of 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).Both the ProvideFault and HandleError pass in a MessageFault object that can be modified and returned to the system (in the case of ProvideFault) or used to perform some custom fault-related behavior (in the case of HandleError).

Dans cet exemple, la méthode ProvideFault convertit tous les objets Exception en un objet MessageFault qui contient un objet FaultException<TDetail> de type GreetingFault et retourne cette @no__t personnalisée-5 à WCF.In this example, the ProvideFault method converts all Exception objects into a MessageFault object that contains a FaultException<TDetail> object of type GreetingFault and returns that customized MessageFault to 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.Use the MessageFault class any time you need an in-memory SOAP fault that can be modified and used to create a SOAP message that contains the fault information.

En général, la classe MessageFault est utilisée lors de l'implémentation de l'interface IErrorHandler.Typically, the MessageFault class is used when implementing the IErrorHandler interface. Dans ce cas, Windows Communication Foundation (WCF) passe l’objet MessageFault et vous l’utilisez pour vos besoins spécifiques (par exemple, vous pouvez personnaliser le MessageFault ou enregistrer les informations d’erreur).In this case, Windows Communication Foundation (WCF) passes the MessageFault object and you use it for your specific needs (for example, you can customize the MessageFault or to log fault information). Toutefois, MessageFault peut être utilisée partout où la gestion du message d'erreur SOAP personnalisée est requise.However, MessageFault can be used anywhere custom SOAP fault message handling is required.

Constructeurs

MessageFault()

En cas d'appel dans une classe dérivée, initialise une nouvelle instance de la classe MessageFault.When called in a derived class, initializes a new instance of the MessageFault class.

Propriétés

Actor

Obtient ou définit la valeur de l'acteur.Gets or sets the value of the actor.

Code

Obtient le code d'erreur SOAP.Gets the SOAP fault code.

HasDetail

Obtient une valeur qui indique si MessageFault possède un objet de détail.Gets a value that indicates whether the MessageFault has a detail object.

IsMustUnderstandFault

Obtient une valeur indiquant si cette erreur a été provoquée par l'incident pour comprendre un en-tête SOAP.Gets a value indicating whether this fault was caused by the failure to understand a SOAP header.

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.Gets the SOAP node containing information about which SOAP node on a message path cause the fault.

Reason

Obtient une description textuelle d'une erreur SOAP.Gets a textual description of a SOAP fault.

Méthodes

CreateFault(FaultCode, FaultReason)

Retourne un nouvel objet MessageFault qui utilise les objets spécifiés FaultCode et FaultReason.Returns a new MessageFault object that uses the specified FaultCode and FaultReason objects.

CreateFault(FaultCode, FaultReason, Object)

Retourne un nouvel objet MessageFault qui utilise le FaultCode, la FaultReason et l'objet de détail spécifiés.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, and detail object.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Retourne un nouvel objet MessageFault qui utilise le FaultCode, la FaultReason, l'objet de détail et les objets XmlObjectSerializer spécifiés.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, detail object, and XmlObjectSerializer objects.

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.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, detail object, XmlObjectSerializer, and actor.

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.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, detail object, XmlObjectSerializer, actor, and node values.

CreateFault(FaultCode, String)

Retourne un nouvel objet MessageFault qui utilise le FaultCode et la raison de l'erreur spécifiés.Returns a new MessageFault object that uses the specified FaultCode and fault reason.

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.Returns a new MessageFault object that uses the specified Message and the specified maximum buffer size for the message buffer.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

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

Retourne l'objet de détail de l'erreur du message.Returns the detail object of the message fault.

GetDetail<T>(XmlObjectSerializer)

Retourne l'objet de détail qui utilise le XmlObjectSerializer spécifié.Returns the detail object that uses the specified XmlObjectSerializer.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetReaderAtDetailContents()

Retourne un objet XmlDictionaryReader positionné sur l'objet de détail de l'MessageFault.Returns an XmlDictionaryReader object that is positioned on the detail object of the MessageFault.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(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.When called in a derived class, returns an XmlDictionaryReader object that is positioned on the detail object of the MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Appelée avant d'écrire le contenu de détail.Invoked prior to writing the detail contents.

OnWriteDetailContents(XmlDictionaryWriter)

En cas de substitution dans une classe dérivée non abstraite, écrit le contenu de l'élément de détail.When overridden in a non-abstract derived class, writes the contents of the detail element.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Écrit l'élément de début à l'aide du XmlDictionaryWriter et de la version d'enveloppe SOAP spécifiés.Writes the start element using the specified XmlDictionaryWriter and SOAP envelope version.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

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

Obtient une valeur indiquant si les en-têtes de message SOAP ont été compris.Gets a value indicating whether the SOAP message headers were understood.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Écrit l'erreur de message qui utilise le XmlDictionaryWriter et la version d'enveloppe SOAP spécifiés.Writes the message fault that uses the specified XmlDictionaryWriter and SOAP envelope version.

WriteTo(XmlWriter, EnvelopeVersion)

Écrit l'erreur de message qui utilise le XmlWriter et la version d'enveloppe SOAP spécifiés.Writes the message fault that uses the specified XmlWriter and SOAP envelope version.

S’applique à