Share via


MessageFault Sınıf

Tanım

Bir hata içeren bir ileti oluşturmak için geçirilebilen CreateMessage SOAP hatasının 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
Türetilmiş

Örnekler

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

Bu örnekte yöntemi, ProvideFault tüm nesneleri türünde GreetingFault bir nesne içeren bir FaultException<TDetail>MessageFault nesneye dönüştürür ve WCF'ye özelleştirilen MessageFault nesneyi Exception 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 bir bellek içi SOAP hatasına ihtiyaç duyduğunuzda kullanın.

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

Oluşturucular

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

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

CreateFault(FaultCode, FaultReason)

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

CreateFault(FaultCode, FaultReason, Object)

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

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

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

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

Belirtilen FaultCode, , FaultReasonayrıntı nesnesi ve aktörü kullanan yeni MessageFault bir nesne XmlObjectSerializerdöndürür.

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

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

CreateFault(FaultCode, String)

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

CreateFault(Message, Int32)

İleti arabelleği için belirtilen ve belirtilen Message en büyük arabellek boyutunu kullanan yeni MessageFault 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 detail 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()

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

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

Geçerli Objectöğesinin sığ 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 dizeyi 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