MessageFault Clase

Definición

Representa una representación en memoria de un error de SOAP que se puede pasar a CreateMessage para crear un mensaje que contiene un error.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
Herencia
MessageFault

Ejemplos

En el ejemplo de código siguiente se muestra el uso más común del constructor MessageFault.The following code example shows the most common use of MessageFault. ProvideFault y HandleError pasan un objeto MessageFault que se puede modificar y devolver al sistema (en el caso de ProvideFault) o usarse para realizar algún comportamiento personalizado relacionado con errores (en el caso 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).

En este ejemplo, el ProvideFault método convierte todos los Exception objetos en un MessageFault objeto que contiene un FaultException<TDetail> objeto de tipo GreetingFault y devuelve ese personalizado MessageFault a 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

Comentarios

Utilice la clase MessageFault siempre que necesite un error de SOAP en memoria que se puede modificar y utilizar para crear un mensaje SOAP que contenga la información del error.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.

Normalmente se utiliza la clase MessageFault al implementar la interfaz IErrorHandler.Typically, the MessageFault class is used when implementing the IErrorHandler interface. En este caso, Windows Communication Foundation (WCF) pasa el MessageFault objeto y lo usa para sus necesidades específicas (por ejemplo, puede personalizar MessageFault o para registrar la información del error).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). Sin embargo, MessageFault se puede utilizar en cualquier parte que se necesite el control personalizado de mensajes de error de SOAP.However, MessageFault can be used anywhere custom SOAP fault message handling is required.

Constructores

MessageFault()

Cuando se llama en una clase derivada, inicializa una nueva instancia de la clase MessageFault.When called in a derived class, initializes a new instance of the MessageFault class.

Propiedades

Actor

Obtiene o establece el valor predeterminado del actor.Gets or sets the value of the actor.

Code

Obtiene el código de error de SOAP.Gets the SOAP fault code.

HasDetail

Obtiene un valor que indica si MessageFault tiene un objeto de detalle.Gets a value that indicates whether the MessageFault has a detail object.

IsMustUnderstandFault

Obtiene un valor que indica si el error se produjo al no poder entender un encabezado SOAP.Gets a value indicating whether this fault was caused by the failure to understand a SOAP header.

Node

Obtiene el nodo SOAP que contiene información sobre el nodo SOAP de una ruta de acceso de mensajes que produce el error.Gets the SOAP node containing information about which SOAP node on a message path cause the fault.

Reason

Obtiene una descripción textual de un error de SOAP.Gets a textual description of a SOAP fault.

Métodos

CreateFault(FaultCode, FaultReason)

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode y FaultReason especificados.Returns a new MessageFault object that uses the specified FaultCode and FaultReason objects.

CreateFault(FaultCode, FaultReason, Object)

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode, FaultReason y el objeto de detalle especificados.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, and detail object.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode, FaultReason, el objeto de detalle y los objetos XmlObjectSerializer especificados.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, detail object, and XmlObjectSerializer objects.

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

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode, FaultReason, el objeto de detalle, la clase XmlObjectSerializer y el actor especificados.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, detail object, XmlObjectSerializer, and actor.

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

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode, FaultReason, el objeto de detalle, el objeto XmlObjectSerializer, así como los valores del actor y del nodo especificados.Returns a new MessageFault object that uses the specified FaultCode, FaultReason, detail object, XmlObjectSerializer, actor, and node values.

CreateFault(FaultCode, String)

Devuelve un nuevo objeto MessageFault que usa el objeto FaultCode y la razón del error especificados.Returns a new MessageFault object that uses the specified FaultCode and fault reason.

CreateFault(Message, Int32)

Devuelve un nuevo objeto MessageFault que utiliza el Message especificado y el tamaño de búfer máximo especificado para el búfer de mensajes.Returns a new MessageFault object that uses the specified Message and the specified maximum buffer size for the message buffer.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetDetail<T>()

Devuelve el objeto de detalle del error del mensaje.Returns the detail object of the message fault.

GetDetail<T>(XmlObjectSerializer)

Devuelve el objeto de detalle que utiliza el XmlObjectSerializer especificado.Returns the detail object that uses the specified XmlObjectSerializer.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetReaderAtDetailContents()

Devuelve un objeto XmlDictionaryReader que se coloca en el objeto de detalle de la clase MessageFault.Returns an XmlDictionaryReader object that is positioned on the detail object of the MessageFault.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
OnGetReaderAtDetailContents()

Cuando se llama a una clase derivada, devuelve un objeto XmlDictionaryReader que se coloca en el objeto de detalle de MessageFault.When called in a derived class, returns an XmlDictionaryReader object that is positioned on the detail object of the MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Se invoca antes de escribir el contenido del detalle.Invoked prior to writing the detail contents.

OnWriteDetailContents(XmlDictionaryWriter)

Cuando se invalida en una clase derivada no abstracta, escribe el contenido del elemento de detalle.When overridden in a non-abstract derived class, writes the contents of the detail element.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Escribe el elemento de inicio mediante el XmlDictionaryWriter especificado y la versión de sobre SOAP.Writes the start element using the specified XmlDictionaryWriter and SOAP envelope version.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Obtiene un valor que indica si se entendieron los encabezados de mensaje SOAP.Gets a value indicating whether the SOAP message headers were understood.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Escribe el error del mensaje que usa la clase XmlDictionaryWriter especificada y la versión de la envoltura SOAP.Writes the message fault that uses the specified XmlDictionaryWriter and SOAP envelope version.

WriteTo(XmlWriter, EnvelopeVersion)

Escribe el error del mensaje que usa la clase XmlWriter especificada y la versión de la envoltura SOAP.Writes the message fault that uses the specified XmlWriter and SOAP envelope version.

Se aplica a