MessageFault Sınıf

Tanım

Bir soap hatası içeren bir ileti oluşturmak için CreateMessage geçirilebilir bellek içi gösterimini temsil eder.

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

Örnekler

Aşağıdaki kod örneğinde en yaygın kullanımı gösterilmektedir MessageFault. ProvideFault hem hem HandleError de değiştirilebilen ve sisteme döndürülebilen (durumundaMessageFault) veya hatayla ilgili bazı özel davranışlar gerçekleştirmek için kullanılan bir ProvideFault nesneyi geçirin (durumundaHandleError).

Bu örnekte yöntemi, ProvideFault tüm nesneleri türünde Exception bir nesne içeren bir MessageFaultFaultException<TDetail> nesneye dönüştürür ve WCF'ye özelleştirilen GreetingFault nesneyi MessageFault döndürür.

#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

Açıklamalar

Sınıfını MessageFault , değiştirilebilen ve hata bilgilerini içeren bir SOAP iletisi oluşturmak için kullanılabilecek bellek içi SOAP hatasına ihtiyaç duyduğunuzda kullanın.

Genellikle, MessageFault sınıfı arabirimini uygularken IErrorHandler kullanılır. Bu durumda, Windows Communication Foundation (WCF) MessageFault nesnesini geçirir ve bunu belirli gereksinimleriniz için kullanırsınız (örneğin, MessageFault'ı özelleştirebilir veya hata bilgilerini günlüğe kaydedebilirsiniz). Ancak, MessageFault özel SOAP hata iletisi işlemenin gerekli olduğu her yerde kullanılabilir.

Oluşturucular

Name Description
MessageFault()

Türetilmiş bir sınıfta çağrıldığında, sınıfının yeni bir örneğini MessageFault başlatır.

Özellikler

Name Description
Actor

Aktörün değerini alır veya ayarlar.

Code

SOAP hata kodunu alır.

HasDetail

öğesinin bir ayrıntı nesnesi olup olmadığını MessageFault gösteren bir değer alır.

IsMustUnderstandFault

Bu hatanın SOAP üst bilgisini anlama hatasından kaynaklanıp kaynaklanmadığını belirten bir değer alır.

Node

bir ileti yolundaki hangi SOAP düğümü hataya neden olduğu hakkında bilgi içeren SOAP düğümünü alır.

Reason

SOAP hatasının metinsel açıklamasını alır.

Yöntemler

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

Belirtilen MessageFault, , ayrıntı nesnesi, FaultCode, aktör ve düğüm değerlerini kullanan yeni FaultReason bir nesne XmlObjectSerializerdöndürür.

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

Belirtilen , , MessageFaultayrıntı nesnesini, ve aktörü kullanan yeni FaultCode bir nesne FaultReasonXmlObjectSerializerdöndürür.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Belirtilen MessageFault, , FaultCodeayrıntı nesnesini ve FaultReason nesnelerini kullanan yeni XmlObjectSerializer bir nesne döndürür.

CreateFault(FaultCode, FaultReason, Object)

Belirtilen MessageFault, FaultCodeve ayrıntı nesnesini kullanan yeni FaultReason bir nesne döndürür.

CreateFault(FaultCode, FaultReason)

Belirtilen MessageFault ve FaultCode nesnelerini kullanan yeni FaultReason bir nesne döndürür.

CreateFault(FaultCode, String)

Belirtilen MessageFault ve hata nedenini kullanan yeni FaultCode bir nesne döndürür.

CreateFault(Message, Int32)

İleti arabelleği için belirtilen ve belirtilen MessageFault en büyük arabellek boyutunu kullanan yeni Message bir nesne döndürür.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetDetail<T>()

İleti hatasının ayrıntı nesnesini döndürür.

GetDetail<T>(XmlObjectSerializer)

Belirtilen XmlObjectSerializeröğesini kullanan ayrıntı nesnesini döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetReaderAtDetailContents()

öğesinin ayrıntı nesnesine konumlandırılmış bir XmlDictionaryReader nesne MessageFaultdöndürür.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnGetReaderAtDetailContents()

Türetilmiş bir sınıfta çağrıldığında, öğesinin ayrıntı nesnesine konumlandırılmış bir XmlDictionaryReader nesne MessageFaultdöndürür.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Ayrıntı içeriğini yazmadan önce çağrılır.

OnWriteDetailContents(XmlDictionaryWriter)

Soyut olmayan türetilmiş bir sınıfta geçersiz kılındığında detail öğesinin içeriğini yazar.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Belirtilen XmlDictionaryWriter ve SOAP zarf sürümünü kullanarak başlangıç öğesini yazar.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

SOAP ileti üst bilgilerinin anlaşılıp anlaşılmadığını belirten bir değer alır.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Belirtilen XmlDictionaryWriter ve SOAP zarf sürümünü kullanan ileti hatasını yazar.

WriteTo(XmlWriter, EnvelopeVersion)

Belirtilen XmlWriter ve SOAP zarf sürümünü kullanan ileti hatasını yazar.

Şunlara uygulanır