MessageFault Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma representação na memória de uma falha SOAP que pode ser passada para CreateMessage criar uma mensagem que contenha uma falha.
public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
- Herança
-
MessageFault
Exemplos
O exemplo de código a seguir mostra o uso mais comum de MessageFault. ProvideFault O objeto que HandleError pode ser modificado e retornado ao sistema (no caso deMessageFault) ou usado para executar algum ProvideFault comportamento personalizado relacionado a falhas (no caso deHandleError).
Neste exemplo, o ProvideFault método converte todos os Exception objetos em um MessageFault objeto que contém um FaultException<TDetail> objeto de tipo GreetingFault e retorna que é personalizado MessageFault para o 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
Comentários
Use a classe sempre MessageFault que precisar de uma falha SOAP na memória que possa ser modificada e usada para criar uma mensagem SOAP que contenha as informações de falha.
Normalmente, a MessageFault classe é usada ao implementar a IErrorHandler interface. Nesse caso, Windows Communication Foundation (WCF) passa o objeto MessageFault e você o usa para suas necessidades específicas (por exemplo, você pode personalizar o MessageFault ou registrar informações de falha). No entanto, MessageFault pode ser usado em qualquer lugar em que o tratamento de mensagens de falha SOAP personalizado seja necessário.
Construtores
| Nome | Description |
|---|---|
| MessageFault() |
Quando chamado em uma classe derivada, inicializa uma nova instância da MessageFault classe. |
Propriedades
| Nome | Description |
|---|---|
| Actor |
Obtém ou define o valor do ator. |
| Code |
Obtém o código de falha SOAP. |
| HasDetail |
Obtém um valor que indica se o MessageFault objeto tem um detalhe. |
| IsMustUnderstandFault |
Obtém um valor que indica se essa falha foi causada pela falha ao entender um cabeçalho SOAP. |
| Node |
Obtém o nó SOAP que contém informações sobre qual nó SOAP em um caminho de mensagem causa a falha. |
| Reason |
Obtém uma descrição textual de uma falha SOAP. |
Métodos
| Nome | Description |
|---|---|
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String) |
Retorna um novo MessageFault objeto que usa os valores especificados FaultCode, , FaultReasonobjeto de detalhes, XmlObjectSerializerator e nó. |
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String) |
Retorna um novo MessageFault objeto que usa o objeto FaultCodeespecificado, o FaultReasonobjeto XmlObjectSerializerde detalhes e o ator. |
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer) |
Retorna um novo MessageFault objeto que usa os objetos e FaultCode objetos especificadosFaultReasonXmlObjectSerializer. |
| CreateFault(FaultCode, FaultReason, Object) |
Retorna um novo MessageFault objeto que usa o objeto especificado FaultCodeFaultReasone o objeto de detalhes. |
| CreateFault(FaultCode, FaultReason) |
Retorna um novo MessageFault objeto que usa os objetos e FaultCode especificadosFaultReason. |
| CreateFault(FaultCode, String) |
Retorna um novo MessageFault objeto que usa o motivo especificado FaultCode e de falha. |
| CreateFault(Message, Int32) |
Retorna um novo MessageFault objeto que usa o tamanho do buffer máximo especificado Message e especificado para o buffer de mensagem. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetDetail<T>() |
Retorna o objeto de detalhes da falha da mensagem. |
| GetDetail<T>(XmlObjectSerializer) |
Retorna o objeto de detalhes que usa o .XmlObjectSerializer |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetReaderAtDetailContents() |
Retorna um XmlDictionaryReader objeto posicionado no objeto de detalhes do MessageFault. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnGetReaderAtDetailContents() |
Quando chamado em uma classe derivada, retorna um XmlDictionaryReader objeto que é posicionado no objeto de detalhes do MessageFault. |
| OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion) |
Invocado antes de escrever o conteúdo de detalhes. |
| OnWriteDetailContents(XmlDictionaryWriter) |
Quando substituído em uma classe derivada não abstrata, grava o conteúdo do elemento de detalhes. |
| OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion) |
Grava o elemento inicial usando a versão do envelope SOAP e especificada XmlDictionaryWriter . |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| WasHeaderNotUnderstood(MessageHeaders, String, String) |
Obtém um valor que indica se os cabeçalhos de mensagem SOAP foram compreendidos. |
| WriteTo(XmlDictionaryWriter, EnvelopeVersion) |
Grava a falha da mensagem que usa a versão do envelope SOAP e especificada XmlDictionaryWriter . |
| WriteTo(XmlWriter, EnvelopeVersion) |
Grava a falha da mensagem que usa a versão do envelope SOAP e especificada XmlWriter . |