MessageFault Klasa

Definicja

Reprezentuje reprezentację błędu protokołu SOAP w pamięci, którą można przekazać w CreateMessage celu utworzenia komunikatu zawierającego błąd.

public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
Dziedziczenie
MessageFault
Pochodne

Przykłady

Poniższy przykład kodu przedstawia najbardziej typowe użycie metody MessageFault. Zarówno obiekt ProvideFault , jak i HandleError przekaż MessageFault obiekt, który można zmodyfikować i powrócić do systemu (w przypadku ProvideFaultprogramu ) lub służy do wykonywania pewnych niestandardowych zachowań związanych z błędami (w przypadku HandleErrorprogramu ).

W tym przykładzie ProvideFault metoda konwertuje wszystkie Exception obiekty na MessageFault obiekt zawierający FaultException<TDetail> obiekt typu GreetingFault i zwraca dane dostosowane MessageFault do programu 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

Uwagi

MessageFault Użyj klasy w dowolnym momencie, gdy potrzebny jest błąd protokołu SOAP w pamięci, który można zmodyfikować i użyć do utworzenia komunikatu PROTOKOŁU SOAP zawierającego informacje o błędzie.

MessageFault Zazwyczaj klasa jest używana podczas implementowania interfejsuIErrorHandler. W takim przypadku program Windows Communication Foundation (WCF) przekazuje MessageFault obiekt i używa go do określonych potrzeb (na przykład można dostosować obiekt MessageFault lub do rejestrowania informacji o błędach). MessageFault Można jednak używać w dowolnym miejscu, w którym wymagana jest niestandardowa obsługa komunikatów o błędach protokołu SOAP.

Konstruktory

MessageFault()

Po wywołaniu w klasie pochodnej inicjuje nowe wystąpienie MessageFault klasy.

Właściwości

Actor

Pobiera lub ustawia wartość aktora.

Code

Pobiera kod błędu protokołu SOAP.

HasDetail

Pobiera wartość wskazującą, czy obiekt MessageFault zawiera obiekt detail.

IsMustUnderstandFault

Pobiera wartość wskazującą, czy ten błąd został spowodowany przez błąd zrozumienia nagłówka protokołu SOAP.

Node

Pobiera węzeł SOAP zawierający informacje o tym, który węzeł SOAP na ścieżce komunikatu powoduje błąd.

Reason

Pobiera tekstowy opis błędu protokołu SOAP.

Metody

CreateFault(FaultCode, FaultReason)

Zwraca nowy MessageFault obiekt, który używa określonego FaultCode obiektu i FaultReason .

CreateFault(FaultCode, FaultReason, Object)

Zwraca nowy MessageFault obiekt, który używa określonego FaultCodeobiektu , FaultReasoni detail.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Zwraca nowy MessageFault obiekt, który używa określonego FaultCodeobiektu , FaultReason, obiektu szczegółów i XmlObjectSerializer obiektów.

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

Zwraca nowy MessageFault obiekt, który używa określonego FaultCodeobiektu , , FaultReasonobiektu szczegółów, XmlObjectSerializeri aktora.

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

Zwraca nowy MessageFault obiekt, który używa określonych FaultCodewartości , , FaultReasonobiektu szczegółów, XmlObjectSerializeraktora i węzła.

CreateFault(FaultCode, String)

Zwraca nowy MessageFault obiekt, który używa określonego FaultCode i przyczyny błędu.

CreateFault(Message, Int32)

Zwraca nowy MessageFault obiekt, który używa określonego Message i określonego maksymalnego rozmiaru buforu dla buforu komunikatów.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetDetail<T>()

Zwraca obiekt szczegółów błędu komunikatu.

GetDetail<T>(XmlObjectSerializer)

Zwraca obiekt szczegółów, który używa określonego XmlObjectSerializerobiektu .

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetReaderAtDetailContents()

XmlDictionaryReader Zwraca obiekt umieszczony w obiekcie szczegółów obiektu MessageFault.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnGetReaderAtDetailContents()

Po wywołaniu w klasie pochodnej zwraca XmlDictionaryReader obiekt umieszczony w obiekcie szczegółów obiektu MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Wywoływane przed zapisaniem zawartości szczegółów.

OnWriteDetailContents(XmlDictionaryWriter)

Po przesłonięciu w klasie pochodnej nie abstrakcyjnej zapisuje zawartość elementu detail.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Zapisuje element początkowy przy użyciu określonej XmlDictionaryWriter wersji koperty protokołu SOAP.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Pobiera wartość wskazującą, czy nagłówki komunikatów PROTOKOŁU SOAP zostały zrozumiane.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Zapisuje błąd komunikatu, który używa określonej XmlDictionaryWriter wersji koperty protokołu SOAP.

WriteTo(XmlWriter, EnvelopeVersion)

Zapisuje błąd komunikatu, który używa określonej XmlWriter wersji koperty protokołu SOAP.

Dotyczy