MessageFault Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет представление в памяти ошибки SOAP, которую можно передать для CreateMessage создания сообщения, содержащего ошибку.
public ref class MessageFault abstract
public abstract class MessageFault
type MessageFault = class
Public MustInherit Class MessageFault
- Наследование
-
MessageFault
Примеры
В следующем примере кода показано наиболее частое использование MessageFault. ProvideFault HandleError И передать объект, который можно изменить и вернуть в MessageFault систему (в случае ProvideFault) или использовать для выполнения определенного пользовательского поведения, связанного с ошибкой (в случаеHandleError).
В этом примере ProvideFault метод преобразует все Exception объекты в MessageFault объект, содержащий FaultException<TDetail> объект типа GreetingFault , и возвращает его, настроенный 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
Комментарии
MessageFault Используйте класс в любое время, когда требуется ошибка SOAP в памяти, которую можно изменить и использовать для создания сообщения SOAP, содержащего сведения об ошибке.
Как правило, MessageFault класс используется при реализации IErrorHandler интерфейса. В этом случае Windows Communication Foundation (WCF) передает объект MessageFault и используется для конкретных потребностей (например, можно настроить MessageFault или журнал сведений об ошибке). MessageFault Однако можно использовать любое место, где требуется настраиваемая обработка сообщений об ошибке SOAP.
Конструкторы
| Имя | Описание |
|---|---|
| MessageFault() |
При вызове в производном классе инициализирует новый экземпляр MessageFault класса. |
Свойства
| Имя | Описание |
|---|---|
| Actor |
Возвращает или задает значение субъекта. |
| Code |
Возвращает код сбоя SOAP. |
| HasDetail |
Возвращает значение, указывающее, имеет ли MessageFault объект подробных сведений. |
| IsMustUnderstandFault |
Возвращает значение, указывающее, была ли эта ошибка вызвана сбоем, чтобы понять заголовок SOAP. |
| Node |
Возвращает узел SOAP, содержащий сведения о том, какой узел SOAP на пути сообщения вызывает ошибку. |
| Reason |
Возвращает текстовое описание ошибки SOAP. |
Методы
| Имя | Описание |
|---|---|
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String, String) |
Возвращает новый MessageFault объект, использующий указанные FaultCode, FaultReasonподробные объекты, XmlObjectSerializerсубъекты и значения узлов. |
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer, String) |
Возвращает новый MessageFault объект, использующий указанный FaultCode, FaultReasonподробный объект XmlObjectSerializerи субъект. |
| CreateFault(FaultCode, FaultReason, Object, XmlObjectSerializer) |
Возвращает новый MessageFault объект, использующий указанный FaultCode, FaultReasonподробный объект и XmlObjectSerializer объекты. |
| CreateFault(FaultCode, FaultReason, Object) |
Возвращает новый MessageFault объект, использующий указанный FaultCodeFaultReasonобъект , и подробный объект. |
| CreateFault(FaultCode, FaultReason) |
Возвращает новый MessageFault объект, использующий указанные FaultCode и FaultReason объекты. |
| CreateFault(FaultCode, String) |
Возвращает новый MessageFault объект, использующий указанную FaultCode и причину сбоя. |
| CreateFault(Message, Int32) |
Возвращает новый MessageFault объект, использующий указанный Message и указанный максимальный размер буфера для буфера сообщения. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetDetail<T>() |
Возвращает подробный объект ошибки сообщения. |
| GetDetail<T>(XmlObjectSerializer) |
Возвращает объект сведений, использующий указанный XmlObjectSerializerобъект. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetReaderAtDetailContents() |
Возвращает объект, расположенный XmlDictionaryReader на объекте детализации объекта MessageFault. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnGetReaderAtDetailContents() |
При вызове в производном классе возвращает XmlDictionaryReader объект, расположенный на объекте детализации объекта MessageFault. |
| OnWriteDetail(XmlDictionaryWriter, EnvelopeVersion) |
Вызывается перед написанием содержимого сведений. |
| OnWriteDetailContents(XmlDictionaryWriter) |
При переопределении в не абстрактном производном классе записывает содержимое элемента сведений. |
| OnWriteStartDetail(XmlDictionaryWriter, EnvelopeVersion) |
Записывает начальный элемент с помощью указанной XmlDictionaryWriter версии конверта SOAP. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| WasHeaderNotUnderstood(MessageHeaders, String, String) |
Возвращает значение, указывающее, были ли поняты заголовки сообщений SOAP. |
| WriteTo(XmlDictionaryWriter, EnvelopeVersion) |
Записывает сообщение об ошибке, использующее указанную XmlDictionaryWriter версию конверта SOAP. |
| WriteTo(XmlWriter, EnvelopeVersion) |
Записывает сообщение об ошибке, использующее указанную XmlWriter версию конверта SOAP. |