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.

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. 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).

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.

#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.

Normalmente se utiliza la clase MessageFault al implementar la interfaz IErrorHandler. En este caso, Windows Communication Foundation (WCF) pasa el MessageFault objeto y lo usa para sus necesidades específicas (por ejemplo, puede personalizar o registrar información MessageFault de error). Sin embargo, MessageFault se puede utilizar en cualquier parte que se necesite el control personalizado de mensajes de error de SOAP.

Constructores

MessageFault()

Cuando se llama en una clase derivada, inicializa una nueva instancia de la clase MessageFault.

Propiedades

Actor

Obtiene o establece el valor predeterminado del actor.

Code

Obtiene el código de error de SOAP.

HasDetail

Obtiene un valor que indica si MessageFault tiene un objeto de detalle.

IsMustUnderstandFault

Obtiene un valor que indica si el error se produjo al no poder entender un encabezado SOAP.

Node

Obtiene el nodo SOAP que contiene información sobre el nodo SOAP de una ruta de acceso de mensajes que produce el error.

Reason

Obtiene una descripción textual de un error de SOAP.

Métodos

CreateFault(FaultCode, FaultReason)

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode y FaultReason especificados.

CreateFault(FaultCode, FaultReason, Object)

Devuelve un nuevo objeto MessageFault que usa los objetos FaultCode, FaultReason y el objeto de detalle especificados.

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.

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.

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.

CreateFault(FaultCode, String)

Devuelve un nuevo objeto MessageFault que usa el objeto FaultCode y la razón del error especificados.

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.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetDetail<T>()

Devuelve el objeto de detalle del error del mensaje.

GetDetail<T>(XmlObjectSerializer)

Devuelve el objeto de detalle que utiliza el XmlObjectSerializer especificado.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetReaderAtDetailContents()

Devuelve un objeto XmlDictionaryReader que se coloca en el objeto de detalle de la clase MessageFault.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(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.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Se invoca antes de escribir el contenido del detalle.

OnWriteDetailContents(XmlDictionaryWriter)

Cuando se invalida en una clase derivada no abstracta, escribe el contenido del elemento de detalle.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Escribe el elemento de inicio mediante el XmlDictionaryWriter especificado y la versión de sobre SOAP.

ToString()

Devuelve una cadena que representa el objeto actual.

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

Obtiene un valor que indica si se entendieron los encabezados de mensaje SOAP.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Escribe el error del mensaje que usa la clase XmlDictionaryWriter especificada y la versión de la envoltura SOAP.

WriteTo(XmlWriter, EnvelopeVersion)

Escribe el error del mensaje que usa la clase XmlWriter especificada y la versión de la envoltura SOAP.

Se aplica a