Bagikan melalui


MessageFault Kelas

Definisi

Mewakili representasi dalam memori dari kesalahan SOAP yang dapat diteruskan ke CreateMessage untuk membuat pesan yang berisi kesalahan.

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

Contoh

Contoh kode berikut menunjukkan penggunaan MessageFaultyang paling umum. Baik ProvideFault dan HandleError meneruskan objek MessageFault yang dapat dimodifikasi dan dikembalikan ke sistem (dalam kasus ProvideFault) atau digunakan untuk melakukan beberapa perilaku terkait kesalahan kustom (dalam kasus HandleError).

Dalam contoh ini, metode ProvideFault mengonversi semua objek Exception menjadi objek MessageFault yang berisi objek FaultException<TDetail> jenis GreetingFault dan mengembalikan yang disesuaikan MessageFault ke 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

Keterangan

Gunakan kelas MessageFault kapan saja Anda memerlukan kesalahan SOAP dalam memori yang dapat dimodifikasi dan digunakan untuk membuat pesan SOAP yang berisi informasi kesalahan.

Biasanya, kelas MessageFault digunakan saat menerapkan antarmuka IErrorHandler. Dalam hal ini, Windows Communication Foundation (WCF) melewati objek MessageFault dan Anda menggunakannya untuk kebutuhan spesifik Anda (misalnya, Anda dapat menyesuaikan MessageFault atau untuk mencatat informasi kesalahan). Namun, MessageFault dapat digunakan di mana saja penanganan pesan kesalahan SOAP kustom diperlukan.

Konstruktor

MessageFault()

Ketika dipanggil di kelas turunan, menginisialisasi instans baru dari kelas MessageFault.

Properti

Actor

Mendapatkan atau menetapkan nilai aktor.

Code

Mendapatkan kode kesalahan SOAP.

HasDetail

Mendapatkan nilai yang menunjukkan apakah MessageFault memiliki objek detail.

IsMustUnderstandFault

Mendapatkan nilai yang menunjukkan apakah kesalahan ini disebabkan oleh kegagalan untuk memahami header SOAP.

Node

Mendapatkan simpul SOAP yang berisi informasi tentang simpul SOAP mana pada jalur pesan yang menyebabkan kesalahan.

Reason

Mendapatkan deskripsi tekstual tentang kesalahan SOAP.

Metode

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

Mengembalikan objek MessageFault baru yang menggunakan nilai FaultCode, FaultReason, objek detail, XmlObjectSerializer, actor, dan node yang ditentukan.

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

Mengembalikan objek MessageFault baru yang menggunakan FaultCode, FaultReason, objek detail, XmlObjectSerializer, dan actor yang ditentukan.

CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer)

Mengembalikan objek MessageFault baru yang menggunakan objek FaultCode, FaultReason, objek detail, dan XmlObjectSerializer yang ditentukan.

CreateFault(FaultCode, FaultReason, Object)

Mengembalikan objek MessageFault baru yang menggunakan objek FaultCode, FaultReason, dan detail yang ditentukan.

CreateFault(FaultCode, FaultReason)

Mengembalikan objek MessageFault baru yang menggunakan objek FaultCode dan FaultReason yang ditentukan.

CreateFault(FaultCode, String)

Mengembalikan objek MessageFault baru yang menggunakan FaultCode dan alasan kesalahan yang ditentukan.

CreateFault(Message, Int32)

Mengembalikan objek MessageFault baru yang menggunakan Message yang ditentukan dan ukuran buffer maksimum yang ditentukan untuk buffer pesan.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetDetail<T>()

Mengembalikan objek detail kesalahan pesan.

GetDetail<T>(XmlObjectSerializer)

Mengembalikan objek detail yang menggunakan XmlObjectSerializeryang ditentukan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetReaderAtDetailContents()

Mengembalikan objek XmlDictionaryReader yang diposisikan pada objek detail MessageFault.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
OnGetReaderAtDetailContents()

Ketika dipanggil dalam kelas turunan, mengembalikan objek XmlDictionaryReader yang diposisikan pada objek detail MessageFault.

OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion)

Dipanggil sebelum menulis konten detail.

OnWriteDetailContents(XmlDictionaryWriter)

Ketika ditimpa dalam kelas turunan non-abstrak, tulis konten elemen detail.

OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion)

Menulis elemen mulai menggunakan versi amplop XmlDictionaryWriter dan SOAP yang ditentukan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
WasHeaderNotUnderstood(MessageHeaders, String, String)

Mendapatkan nilai yang menunjukkan apakah header pesan SOAP dipahami.

WriteTo(XmlDictionaryWriter, EnvelopeVersion)

Menulis kesalahan pesan yang menggunakan versi amplop XmlDictionaryWriter dan SOAP yang ditentukan.

WriteTo(XmlWriter, EnvelopeVersion)

Menulis kesalahan pesan yang menggunakan versi amplop XmlWriter dan SOAP yang ditentukan.

Berlaku untuk