MessageFault Classe

Definição

Representa uma representação em 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 seguinte exemplo de código mostra o uso mais comum de MessageFault. Tanto o ProvideFault como passam um HandleError objeto que pode ser modificado e devolvido ao sistema (no caso de MessageFault) ou usado para realizar algum comportamento personalizado relacionado com falhas (no caso de ProvideFaultHandleError ).

Neste exemplo, o ProvideFault método converte todos Exception os MessageFault objetos num objeto que contém um FaultException<TDetail> objeto do tipo GreetingFault e devolve esse objeto personalizado MessageFault para 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

Observações

Use a MessageFault classe sempre que precisar de uma falha SOAP em memória que possa ser modificada e usada para criar uma mensagem SOAP que contenha a informação da falha.

Normalmente, a MessageFault classe é usada na implementação da IErrorHandler interface. Neste caso, Windows Communication Foundation (WCF) passa o objeto MessageFault e você usa-o para as suas necessidades específicas (por exemplo, pode personalizar o MessageFault ou para registar a informação de falha). No entanto, MessageFault pode ser usado em qualquer lugar que seja necessário um tratamento personalizado de mensagens de falha SOAP.

Construtores

Name Description
MessageFault()

Quando chamada numa classe derivada, inicializa uma nova instância da MessageFault classe.

Propriedades

Name Description
Actor

Obtém ou define o valor do ator.

Code

Recebe o código de falha SOAP.

HasDetail

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

IsMustUnderstandFault

Obtém um valor que indica se esta falha foi causada pela falha em compreender um cabeçalho SOAP.

Node

Obtém o nó SOAP contendo informação sobre qual nó SOAP num caminho de mensagem causa a falha.

Reason

Recebe uma descrição textual de uma falha SOAP.

Métodos

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

Devolve um novo MessageFault objeto que utiliza os valores especificados FaultCodede , FaultReason, detalhe do objeto, XmlObjectSerializer, ator e nó.

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

Devolve um novo MessageFault objeto que utiliza os especificados FaultCode, FaultReason, objeto de detalhe, XmlObjectSerializer, e ator.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Devolve um novo MessageFault objeto que utiliza o especificado FaultCode, FaultReason, objeto de detalhe e XmlObjectSerializer objetos.

CreateFault(FaultCode, FaultReason, Object)

Devolve um novo MessageFault objeto que utiliza o objeto especificado FaultCode, FaultReason, e detalhe.

CreateFault(FaultCode, FaultReason)

Devolve um novo MessageFault objeto que utiliza os objetos e FaultCode especificadosFaultReason.

CreateFault(FaultCode, String)

Devolve um novo MessageFault objeto que usa a razão especificada FaultCode e a de falha.

CreateFault(Message, Int32)

Devolve um novo MessageFault objeto que utiliza o tamanho máximo do buffer especificado Message e especificado para o buffer de mensagens.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDetail<T>()

Devolve o objeto de detalhe da falha da mensagem.

GetDetail<T>(XmlObjectSerializer)

Devolve o objeto de detalhe que utiliza o especificado XmlObjectSerializer.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetReaderAtDetailContents()

Devolve um XmlDictionaryReader objeto que está posicionado sobre o objeto de detalhe do MessageFault.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnGetReaderAtDetailContents()

Quando chamada numa classe derivada, devolve um XmlDictionaryReader objeto que está posicionado sobre o objeto de detalhe do MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Invocado antes de escrever o conteúdo detalhado.

OnWriteDetailContents(XmlDictionaryWriter)

Quando sobrescrito numa classe derivada não abstrata, escreve o conteúdo do elemento de detalhe.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Escreve o elemento inicial usando a versão especificada XmlDictionaryWriter e do envelope SOAP.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Recebe um valor que indica se os cabeçalhos das mensagens SOAP foram compreendidos.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Escreve a falha da mensagem que utiliza a versão especificada XmlDictionaryWriter e do envelope SOAP.

WriteTo(XmlWriter, EnvelopeVersion)

Escreve a falha da mensagem que utiliza a versão especificada XmlWriter e do envelope SOAP.

Aplica-se a