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.

Применяется к