MessageFault Clase

Definición

Representa una representación en memoria de un error soap que se puede pasar a CreateMessage para crear un mensaje que contenga 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 de MessageFault. ProvideFault HandleError y pasan un MessageFault objeto que se puede modificar y devolver al sistema (en el caso de ProvideFault) o que se usan 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

Use la MessageFault clase cada vez que necesite un error soap en memoria que se pueda modificar y usar para crear un mensaje SOAP que contenga la información de error.

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

Constructores

Nombre Description
MessageFault()

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

Propiedades

Nombre Description
Actor

Obtiene o establece el valor del actor.

Code

Obtiene el código de error soap.

HasDetail

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

IsMustUnderstandFault

Obtiene un valor que indica si este error se debe al error para comprender un encabezado SOAP.

Node

Obtiene el nodo SOAP que contiene información sobre qué nodo SOAP de una ruta de acceso de mensaje provoca el error.

Reason

Obtiene una descripción textual de un error soap.

Métodos

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

Devuelve un nuevo MessageFault objeto que usa los valores de FaultCodenodo especificados , , FaultReasonobjeto de detalle, XmlObjectSerializeractor y nodo especificados.

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

Devuelve un nuevo MessageFault objeto que usa el objeto de detalle , FaultReasonXmlObjectSerializer, y el actor especificadosFaultCode.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

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

CreateFault(FaultCode, FaultReason, Object)

Devuelve un nuevo MessageFault objeto que usa el objeto de detalle , FaultReasony especificadoFaultCode.

CreateFault(FaultCode, FaultReason)

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

CreateFault(FaultCode, String)

Devuelve un nuevo MessageFault objeto que usa el motivo de error y especificados FaultCode .

CreateFault(Message, Int32)

Devuelve un nuevo MessageFault objeto que usa el valor especificado Message y el tamaño máximo de búfer especificado para el búfer de mensajes.

Equals(Object)

Determina si el objeto especificado es igual al 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 usa el especificado XmlObjectSerializer.

GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetReaderAtDetailContents()

Devuelve un XmlDictionaryReader objeto situado en el objeto de detalle de MessageFault.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnGetReaderAtDetailContents()

Cuando se llama en una clase derivada, devuelve un XmlDictionaryReader objeto situado en el objeto de detalle de MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Se invoca antes de escribir el contenido de detalles.

OnWriteDetailContents(XmlDictionaryWriter)

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

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Escribe el elemento start con la versión de sobre SOAP y especificada XmlDictionaryWriter .

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 del mensaje SOAP.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

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

WriteTo(XmlWriter, EnvelopeVersion)

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

Se aplica a