MessageFault Klas

Definitie

Vertegenwoordigt een in-memory weergave van een SOAP-fout die kan worden doorgegeven om CreateMessage een bericht te maken dat een fout bevat.

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
Overname
MessageFault

Voorbeelden

In het volgende codevoorbeeld ziet u het meest voorkomende gebruik van MessageFault. Zowel het ProvideFault object als HandleError het doorgeven van een MessageFault object dat kan worden gewijzigd en geretourneerd aan het systeem (in het geval van ProvideFault) of wordt gebruikt om een aangepast gedrag met betrekking tot fouten uit te voeren (in het geval van HandleError).

In dit voorbeeld converteert de ProvideFault methode alle Exception objecten naar een MessageFault object dat een object van het FaultException<TDetail> type GreetingFault bevat en retourneert die zijn aangepast MessageFault aan 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

Opmerkingen

Gebruik de MessageFault klasse op elk moment dat u een SOAP-fout in het geheugen nodig hebt die kan worden gewijzigd en gebruikt om een SOAP-bericht te maken dat de foutinformatie bevat.

Normaal gesproken wordt de MessageFault klasse gebruikt bij het implementeren van de IErrorHandler interface. In dit geval geeft Windows Communication Foundation (WCF) het MessageFault-object door en gebruikt u het voor uw specifieke behoeften (u kunt bijvoorbeeld de MessageFault aanpassen of foutgegevens vastleggen). U MessageFault kunt echter overal worden gebruikt waar aangepaste SOAP-foutberichten worden verwerkt.

Constructors

Name Description
MessageFault()

Wanneer een afgeleide klasse wordt aangeroepen, initialiseert u een nieuw exemplaar van de MessageFault klasse.

Eigenschappen

Name Description
Actor

Hiermee haalt u de waarde van de actor op of stelt u deze in.

Code

Hiermee haalt u de SOAP-foutcode op.

HasDetail

Hiermee wordt een waarde opgehaald die aangeeft of het MessageFault een detailobject heeft.

IsMustUnderstandFault

Hiermee wordt een waarde opgehaald die aangeeft of deze fout is veroorzaakt door de fout bij het begrijpen van een SOAP-header.

Node

Hiermee haalt u het SOAP-knooppunt op met informatie over welk SOAP-knooppunt op een berichtpad de fout veroorzaakt.

Reason

Hiermee haalt u een tekstuele beschrijving van een SOAP-fout op.

Methoden

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

Retourneert een nieuw MessageFault object dat gebruikmaakt van de opgegeven FaultCode, FaultReasondetailobject- en XmlObjectSerializeractor- en knooppuntwaarden.

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

Retourneert een nieuw MessageFault object dat gebruikmaakt van het opgegeven FaultCode, FaultReasondetailobject XmlObjectSerializeren actor.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Retourneert een nieuw MessageFault object dat gebruikmaakt van het opgegeven FaultCode, FaultReasondetailobject en XmlObjectSerializer objecten.

CreateFault(FaultCode, FaultReason, Object)

Retourneert een nieuw MessageFault object dat gebruikmaakt van het opgegeven FaultCode, FaultReasonen detailobject.

CreateFault(FaultCode, FaultReason)

Retourneert een nieuw MessageFault object dat gebruikmaakt van de opgegeven FaultCode en FaultReason objecten.

CreateFault(FaultCode, String)

Retourneert een nieuw MessageFault object dat gebruikmaakt van de opgegeven FaultCode en foutreden.

CreateFault(Message, Int32)

Retourneert een nieuw MessageFault object dat gebruikmaakt van de opgegeven Message en de opgegeven maximale buffergrootte voor de berichtbuffer.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetDetail<T>()

Retourneert het detailobject van de fout in het bericht.

GetDetail<T>(XmlObjectSerializer)

Retourneert het detailobject dat gebruikmaakt van de opgegeven XmlObjectSerializer.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetReaderAtDetailContents()

Retourneert een XmlDictionaryReader object dat is geplaatst op het detailobject van de MessageFault.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnGetReaderAtDetailContents()

Wanneer een afgeleide klasse wordt aangeroepen, wordt een XmlDictionaryReader object geretourneerd dat op het detailobject van de MessageFaultklasse is geplaatst.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Aangeroepen voordat u de detailinhoud schrijft.

OnWriteDetailContents(XmlDictionaryWriter)

Wanneer deze wordt overschreven in een niet-abstracte afgeleide klasse, schrijft u de inhoud van het detailelement.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Hiermee schrijft u het beginelement met behulp van de opgegeven XmlDictionaryWriter en SOAP-envelopversie.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Hiermee wordt een waarde opgehaald die aangeeft of de SOAP-berichtkoppen zijn begrepen.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Hiermee wordt de fout in het bericht geschreven die gebruikmaakt van de opgegeven XmlDictionaryWriter en SOAP-envelopversie.

WriteTo(XmlWriter, EnvelopeVersion)

Hiermee wordt de fout in het bericht geschreven die gebruikmaakt van de opgegeven XmlWriter en SOAP-envelopversie.

Van toepassing op