MessageFault Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje reprezentaci chyby SOAP v paměti, která může být předána k CreateMessage vytvoření zprávy, která obsahuje chybu.
public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
- Dědičnost
-
MessageFault
- Odvozené
Příklady
Následující příklad kódu ukazuje nejběžnější použití .MessageFault ProvideFault Objekt i HandleError předat MessageFault objekt, který lze upravit a vrátit do systému (v případě ProvideFault) nebo použít k provedení vlastního chování souvisejícího HandleErrors chybami (v případě ).
V tomto příkladu ProvideFault metoda převede všechny Exception objekty na MessageFault objekt, který obsahuje FaultException<TDetail> objekt typu GreetingFault
a vrátí, které jsou přizpůsobené MessageFault 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
Poznámky
MessageFault Třídu použijte, kdykoli potřebujete chybu SOAP v paměti, kterou lze upravit a použít k vytvoření zprávy SOAP obsahující informace o chybě.
Třída se MessageFault obvykle používá při implementaci IErrorHandler rozhraní. V tomto případě windows Communication Foundation (WCF) předá MessageFault objekt a použijete ho pro své konkrétní potřeby (můžete například přizpůsobit MessageFault nebo k protokolování informací o chybách). Lze však použít všude, MessageFault kde je vyžadováno vlastní zpracování chybových zpráv SOAP.
Konstruktory
MessageFault() |
Při zavolání v odvozené třídě inicializuje novou instanci MessageFault třídy. |
Vlastnosti
Actor |
Získá nebo nastaví hodnotu objektu actor. |
Code |
Získá kód chyby SOAP. |
HasDetail |
Získá hodnotu, která označuje, zda MessageFault má detail objektu. |
IsMustUnderstandFault |
Získá hodnotu označující, zda tato chyba byla způsobena selháním porozumět hlavičky SOAP. |
Node |
Získá uzel SOAP obsahující informace o tom, který uzel SOAP na cestě zprávy způsobuje chybu. |
Reason |
Získá textový popis chyby SOAP. |
Metody
CreateFault(FaultCode, FaultReason) |
Vrátí nový MessageFault objekt, který používá zadané FaultCode objekty a FaultReason . |
CreateFault(FaultCode, FaultReason, Object) |
Vrátí nový MessageFault objekt, který používá zadaný FaultCodeobjekt podrobností , FaultReasona . |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer) |
Vrátí nový MessageFault objekt, který používá zadané FaultCodeobjekty , FaultReason, podrobnosti objektu a XmlObjectSerializer objekty. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String) |
Vrátí nový MessageFault objekt, který používá zadaný FaultCodeobjekt , FaultReason, objekt podrobností XmlObjectSerializera objekt actor. |
CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String) |
Vrátí nový MessageFault objekt, který používá zadané FaultCodehodnoty , FaultReason, podrobnosti objektu , XmlObjectSerializerobjektu actor a uzlu. |
CreateFault(FaultCode, String) |
Vrátí nový MessageFault objekt, který používá zadaný FaultCode důvod a důvod chyby. |
CreateFault(Message, Int32) |
Vrátí nový MessageFault objekt, který používá zadanou Message a zadanou maximální velikost vyrovnávací paměti pro vyrovnávací paměť zpráv. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetDetail<T>() |
Vrátí objekt detail chyby zprávy. |
GetDetail<T>(XmlObjectSerializer) |
Vrátí objekt podrobností, který používá zadaný XmlObjectSerializerobjekt . |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetReaderAtDetailContents() |
XmlDictionaryReader Vrátí objekt umístěný na objektu podrobností objektu MessageFault. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OnGetReaderAtDetailContents() |
Při volání v odvozené třídě vrátí XmlDictionaryReader objekt, který je umístěn na objektu podrobností objektu MessageFault. |
OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion) |
Vyvoláno před zápisem obsahu podrobností. |
OnWriteDetailContents(XmlDictionaryWriter) |
Při přepsání v ne abstraktní odvozené třídě zapíše obsah prvku podrobností. |
OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion) |
Zapíše element start pomocí zadané XmlDictionaryWriter verze obálky a SOAP. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
WasHeaderNotUnderstood(MessageHeaders, String, String) |
Získá hodnotu označující, zda hlavičky zprávy SOAP byly srozumitelné. |
WriteTo(XmlDictionaryWriter, EnvelopeVersion) |
Zapíše chybu zprávy, která používá zadanou XmlDictionaryWriter verzi obálky a SOAP. |
WriteTo(XmlWriter, EnvelopeVersion) |
Zapíše chybu zprávy, která používá zadanou XmlWriter verzi obálky a SOAP. |