MessageFault Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en minnesintern representation av ett SOAP-fel som kan skickas till för att CreateMessage skapa ett meddelande som innehåller ett fel.
public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
- Arv
-
MessageFault
Exempel
I följande kodexempel visas den vanligaste användningen av MessageFault. ProvideFault Både och HandleError skickar in ett MessageFault objekt som kan ändras och returneras till systemet (i fallet ProvideFaultmed ) eller som används för att utföra vissa anpassade felrelaterade beteenden (i fallet HandleErrormed ).
I det här exemplet ProvideFault konverterar metoden alla Exception objekt till ett MessageFault objekt som innehåller ett FaultException<TDetail> objekt av typen GreetingFault och returnerar det som är anpassat MessageFault till 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
Kommentarer
MessageFault Använd klassen när du behöver ett SOAP-fel i minnet som kan ändras och användas för att skapa ett SOAP-meddelande som innehåller felinformationen.
Vanligtvis MessageFault används klassen när gränssnittet implementeras IErrorHandler . I det här fallet skickar Windows Communication Foundation (WCF) objektet MessageFault och du använder det för dina specifika behov (du kan till exempel anpassa MessageFault eller logga felinformation). Kan dock MessageFault användas var som helst där anpassad SOAP-felmeddelandehantering krävs.
Konstruktorer
| Name | Description |
|---|---|
| MessageFault() |
När den anropas i en härledd klass initieras en ny instans av MessageFault klassen. |
Egenskaper
| Name | Description |
|---|---|
| Actor |
Hämtar eller anger värdet för aktören. |
| Code |
Hämtar SOAP-felkoden. |
| HasDetail |
Hämtar ett värde som anger om MessageFault har ett detaljobjekt. |
| IsMustUnderstandFault |
Hämtar ett värde som anger om det här felet orsakades av misslyckandet med att förstå ett SOAP-huvud. |
| Node |
Hämtar SOAP-noden som innehåller information om vilken SOAP-nod på en meddelandesökväg som orsakar felet. |
| Reason |
Hämtar en textbeskrivning av ett SOAP-fel. |
Metoder
| Name | Description |
|---|---|
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String) |
Returnerar ett nytt MessageFault objekt som använder de angivna FaultCodevärdena , FaultReason, detaljobjektet, XmlObjectSerializer, aktören och noden. |
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String) |
Returnerar ett nytt MessageFault objekt som använder det angivna FaultCode, FaultReason, detaljobjektet, XmlObjectSerializeroch aktören. |
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer) |
Returnerar ett nytt MessageFault objekt som använder det angivna FaultCode, FaultReason, detaljobjektet och XmlObjectSerializer objekten. |
| CreateFault(FaultCode, FaultReason, Object) |
Returnerar ett nytt MessageFault objekt som använder det angivna FaultCode, FaultReasonoch detaljobjektet. |
| CreateFault(FaultCode, FaultReason) |
Returnerar ett nytt MessageFault objekt som använder angivna FaultCode objekt och FaultReason objekt. |
| CreateFault(FaultCode, String) |
Returnerar ett nytt MessageFault objekt som använder den angivna FaultCode orsaken och felorsaken. |
| CreateFault(Message, Int32) |
Returnerar ett nytt MessageFault objekt som använder den angivna Message och angivna maximala buffertstorleken för meddelandebufferten. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetDetail<T>() |
Returnerar informationsobjektet för meddelandefelet. |
| GetDetail<T>(XmlObjectSerializer) |
Returnerar det detaljobjekt som använder den angivna XmlObjectSerializer. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetReaderAtDetailContents() |
Returnerar ett XmlDictionaryReader objekt som är placerat på detaljobjektet i MessageFault. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnGetReaderAtDetailContents() |
När det anropas i en härledd klass returnerar ett XmlDictionaryReader objekt som är placerat på detaljobjektet i MessageFault. |
| OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion) |
Anropas innan du skriver informationsinnehållet. |
| OnWriteDetailContents(XmlDictionaryWriter) |
När det åsidosätts i en icke-abstrakt härledd klass skriver du innehållet i detaljelementet. |
| OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion) |
Skriver startelementet med den angivna XmlDictionaryWriter versionen och SOAP-kuvertversionen. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| WasHeaderNotUnderstood(MessageHeaders, String, String) |
Hämtar ett värde som anger om SOAP-meddelanderubrikerna förstods. |
| WriteTo(XmlDictionaryWriter, EnvelopeVersion) |
Skriver meddelandefelet som använder den angivna XmlDictionaryWriter versionen och SOAP-kuvertversionen. |
| WriteTo(XmlWriter, EnvelopeVersion) |
Skriver meddelandefelet som använder den angivna XmlWriter versionen och SOAP-kuvertversionen. |