MessageFault Classe

Definizione

Rappresenta una rappresentazione in memoria di un errore SOAP che può essere passato a CreateMessage per creare un messaggio contenente un errore.

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
Ereditarietà
MessageFault

Esempio

Nell'esempio di codice seguente viene illustrato l'uso più comune di MessageFault. Sia che ProvideFaultHandleError passano un MessageFault oggetto che può essere modificato e restituito al sistema (nel caso di ProvideFault) o usato per eseguire un comportamento personalizzato correlato all'errore (nel caso di HandleError).

In questo esempio, il ProvideFault metodo converte tutti gli Exception oggetti in un MessageFault oggetto contenente un FaultException<TDetail> oggetto di tipo GreetingFault e restituisce tale oggetto personalizzato MessageFault in 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

Commenti

Usare la MessageFault classe ogni volta che è necessario un errore SOAP in memoria che può essere modificato e usato per creare un messaggio SOAP contenente le informazioni sull'errore.

In genere, la MessageFault classe viene usata quando si implementa l'interfaccia IErrorHandler . In questo caso, Windows Communication Foundation (WCF) passa l'oggetto MessageFault e lo si usa per esigenze specifiche( ad esempio, è possibile personalizzare il MessageFault o registrare le informazioni sull'errore). Tuttavia, MessageFault può essere usato ovunque sia necessaria la gestione personalizzata dei messaggi di errore SOAP.

Costruttori

Nome Descrizione
MessageFault()

Quando viene chiamato in una classe derivata, inizializza una nuova istanza della MessageFault classe .

Proprietà

Nome Descrizione
Actor

Ottiene o imposta il valore dell'attore.

Code

Ottiene il codice di errore SOAP.

HasDetail

Ottiene un valore che indica se dispone MessageFault di un oggetto dettaglio.

IsMustUnderstandFault

Ottiene un valore che indica se l'errore è stato causato dall'errore di comprendere un'intestazione SOAP.

Node

Ottiene il nodo SOAP contenente informazioni sul nodo SOAP in un percorso del messaggio che causa l'errore.

Reason

Ottiene una descrizione testuale di un errore SOAP.

Metodi

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

Restituisce un nuovo MessageFault oggetto che utilizza i FaultCodevalori specificati di , FaultReason, dettaglio, XmlObjectSerializerattore e nodo.

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

Restituisce un nuovo MessageFault oggetto che utilizza l'oggetto specificato , FaultCode, l'oggetto FaultReasondettaglio, XmlObjectSerializere l'attore.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Restituisce un nuovo MessageFault oggetto che utilizza l'oggetto specificato , FaultCode, l'oggetto FaultReasondettaglio e XmlObjectSerializer gli oggetti .

CreateFault(FaultCode, FaultReason, Object)

Restituisce un nuovo MessageFault oggetto che utilizza l'oggetto dettaglio , FaultCodee specificatoFaultReason.

CreateFault(FaultCode, FaultReason)

Restituisce un nuovo MessageFault oggetto che utilizza gli oggetti e FaultCode specificatiFaultReason.

CreateFault(FaultCode, String)

Restituisce un nuovo MessageFault oggetto che utilizza il motivo di errore e specificato FaultCode .

CreateFault(Message, Int32)

Restituisce un nuovo MessageFault oggetto che utilizza le dimensioni massime del buffer specificate Message e specificate per il buffer dei messaggi.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetDetail<T>()

Restituisce l'oggetto dettaglio dell'errore del messaggio.

GetDetail<T>(XmlObjectSerializer)

Restituisce l'oggetto dettaglio che utilizza l'oggetto specificato XmlObjectSerializer.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetReaderAtDetailContents()

Restituisce un XmlDictionaryReader oggetto posizionato sull'oggetto dettaglio dell'oggetto MessageFault.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnGetReaderAtDetailContents()

Quando viene chiamato in una classe derivata, restituisce un XmlDictionaryReader oggetto posizionato sull'oggetto dettaglio dell'oggetto MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Richiamato prima di scrivere il contenuto dei dettagli.

OnWriteDetailContents(XmlDictionaryWriter)

Quando sottoposto a override in una classe derivata non astratta, scrive il contenuto dell'elemento detail.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Scrive l'elemento iniziale utilizzando la versione della busta SOAP e specificata XmlDictionaryWriter .

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Ottiene un valore che indica se le intestazioni del messaggio SOAP sono state comprese.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Scrive l'errore di messaggio che utilizza la versione specificata XmlDictionaryWriter e soap envelope.

WriteTo(XmlWriter, EnvelopeVersion)

Scrive l'errore di messaggio che utilizza la versione specificata XmlWriter e soap envelope.

Si applica a