MessageFault Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |