Partilhar via


MessageFault Classe

Definição

Representa uma representação na memória de uma falha SOAP que pode ser passada para CreateMessage para 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. Os ProvideFault e HandleError passam um objeto MessageFault que pode ser modificado e retornado ao sistema (no caso de ProvideFault) ou usado para executar algum comportamento personalizado relacionado a falhas (no caso de HandleError).

Neste exemplo, o método ProvideFault converte todos os objetos Exception em um objeto MessageFault que contém um objeto FaultException<TDetail> do tipo GreetingFault e retorna aquele MessageFault personalizado 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 MessageFault sempre 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 classe MessageFault é usada ao implementar a interface IErrorHandler. Nesse caso, o 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

MessageFault()

Quando chamado em uma classe derivada, inicializa uma nova instância da classe MessageFault.

Propriedades

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 tem um objeto de detalhes.

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

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

Retorna um novo objeto MessageFault que usa os valores de FaultCode, FaultReason, objeto de detalhe, XmlObjectSerializer, ator e nó especificados.

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

Retorna um novo objeto MessageFault que usa o FaultCode, FaultReason, objeto de detalhes, XmlObjectSerializere ator especificados.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Retorna um novo objeto MessageFault que usa os objetos FaultCode, FaultReason, detail e XmlObjectSerializer especificados.

CreateFault(FaultCode, FaultReason, Object)

Retorna um novo objeto MessageFault que usa o objeto de FaultCode, FaultReasone detalhe especificados.

CreateFault(FaultCode, FaultReason)

Retorna um novo objeto MessageFault que usa os objetos FaultCode e FaultReason especificados.

CreateFault(FaultCode, String)

Retorna um novo objeto MessageFault que usa o FaultCode especificado e o motivo da falha.

CreateFault(Message, Int32)

Retorna um novo objeto MessageFault que usa o Message especificado e o tamanho máximo do buffer 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 XmlObjectSerializerespecificado.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetReaderAtDetailContents()

Retorna um objeto XmlDictionaryReader 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 objeto XmlDictionaryReader 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 o XmlDictionaryWriter especificado e a versão do envelope SOAP.

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 de mensagem que usa o XmlDictionaryWriter especificado e a versão do envelope SOAP.

WriteTo(XmlWriter, EnvelopeVersion)

Grava a falha de mensagem que usa o XmlWriter especificado e a versão do envelope SOAP.

Aplica-se a