MessageFault Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |