MessageFault Classe

Definição

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 .

Aplica-se a