MessageFault Klass

Definition

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.

Gäller för