MessageFault Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 MessageFault registrar la información 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 MessageFault objeto que usa el objeto , FaultReason, el objeto de detalle y XmlObjectSerializer los objetos especificadosFaultCode. |
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. |