Share via


MessageFault Classe

Definição

Representa uma representação na memória de uma falha SOAP que pode ser passada para que CreateMessage crie uma mensagem que contém uma falha.

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
Herança
MessageFault
Derivado

Exemplos

O exemplo de código a seguir mostra o uso mais comum de MessageFault. ProvideFaultHandleError E passam um MessageFault objeto que pode ser modificado e retornado para o sistema (no caso de ProvideFault) ou usado para executar algum comportamento personalizado relacionado a falhas (no caso de HandleError).

Neste exemplo, o ProvideFault método converte todos os Exception objetos em um MessageFault objeto que contém um FaultException<TDetail> objeto do 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 MessageFault classe 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 MessageFault classe é usada ao implementar a IErrorHandler interface . Nesse caso, o WCF (Windows Communication Foundation) passa o objeto e você o MessageFault usa para suas necessidades específicas (por exemplo, você pode personalizar ou MessageFault registrar informações de falha). No entanto, MessageFault pode ser usado em qualquer lugar em que o tratamento de mensagens de falha SOAP personalizado é 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 da falha de SOAP.

HasDetail

Obtém um valor que indica se o MessageFault tem um objeto de detalhes.

IsMustUnderstandFault

Obtém um valor que indica se a falha foi causada por uma 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 de SOAP.

Métodos

CreateFault(FaultCode, FaultReason)

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

CreateFault(FaultCode, FaultReason, Object)

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

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

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

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

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

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

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

CreateFault(FaultCode, String)

Retorna um novo objeto MessageFault que usa o FaultCode e o motivo de falha especificados.

CreateFault(Message, Int32)

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

GetDetail<T>(XmlObjectSerializer)

Retorna o objeto de detalhes que usa o XmlObjectSerializer especificado.

GetHashCode()

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

(Herdado de Object)
GetReaderAtDetailContents()

Retorna um objeto XmlDictionaryReader que é 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 Object atual.

(Herdado de Object)
OnGetReaderAtDetailContents()

Quando chamado em uma classe derivada, retorna um objeto XmlDictionaryReader que é posicionado no objeto de detalhes do MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Invocado antes da gravação do 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 da mensagem SOAP foram entendidos.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Grava a falha da mensagem que usa o XmlDictionaryWriter especificado e a versão do envelope SOAP.

WriteTo(XmlWriter, EnvelopeVersion)

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

Aplica-se a