FaultException<TDetail> Конструкторы

Определение

Инициализирует новый экземпляр класса FaultException<TDetail>.

Перегрузки

FaultException<TDetail>(TDetail)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанный объект сведений.

FaultException<TDetail>(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса FaultException<TDetail> на основе указанных сведений о сериализации и контекста при десериализации потока в объект FaultException.

FaultException<TDetail>(TDetail, FaultReason)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений и причину ошибки.

FaultException<TDetail>(TDetail, String)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений и причину ошибки.

FaultException<TDetail>(TDetail, FaultReason, FaultCode)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки и код ошибки.

FaultException<TDetail>(TDetail, String, FaultCode)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки и код ошибки.

FaultException<TDetail>(TDetail, FaultReason, FaultCode, String)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки SOAP и значения кода и действий.

FaultException<TDetail>(TDetail, String, FaultCode, String)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки SOAP и значения кода и действий.

FaultException<TDetail>(TDetail)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанный объект сведений.

public:
 FaultException(TDetail detail);
public FaultException (TDetail detail);
new System.ServiceModel.FaultException<'Detail> : 'Detail -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

Примеры

В следующем примере кода показано использование в службе типа FaultException<TDetail> для вызова управляемого исключения, которое преобразуется в ошибку SOAP, заданную атрибутом FaultContractAttribute.

using System;
using System.Collections.Generic;
using System.Net.Security;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace Microsoft.WCF.Documentation
{
  [ServiceContract(Namespace="http://microsoft.wcf.documentation")]
  public interface ISampleService{
    [OperationContract]
    [FaultContractAttribute(
      typeof(GreetingFault),
      Action="http://www.contoso.com/GreetingFault",
      ProtectionLevel=ProtectionLevel.EncryptAndSign
      )]
    string SampleMethod(string msg);
  }

  [DataContractAttribute]
  public class GreetingFault
  {
    private string report;

    public GreetingFault(string message)
    {
      this.report = message;
    }

    [DataMemberAttribute]
    public string Message
    {
      get { return this.report; }
      set { this.report = value; }
    }
  }

  class SampleService : ISampleService
  {
  #region ISampleService Members

  public string  SampleMethod(string msg)
  {
    Console.WriteLine("Client said: " + msg);
    // Generate intermittent error behavior.
    Random rnd = new Random(DateTime.Now.Millisecond);
    int test = rnd.Next(5);
    if (test % 2 != 0)
      return "The service greets you: " + msg;
    else
      throw new FaultException<GreetingFault>(new GreetingFault("A Greeting error occurred. You said: " + msg));
  }

  #endregion
  }
}

Imports System.Collections.Generic
Imports System.Net.Security
Imports System.Runtime.Serialization
Imports System.ServiceModel
Imports System.Text

Namespace Microsoft.WCF.Documentation
  <ServiceContract(Namespace:="http://microsoft.wcf.documentation")> _
  Public Interface ISampleService
    <OperationContract, FaultContractAttribute(GetType(GreetingFault), Action:="http://www.contoso.com/GreetingFault", ProtectionLevel:=ProtectionLevel.EncryptAndSign)> _
    Function SampleMethod(ByVal msg As String) As String
  End Interface

  <DataContractAttribute> _
  Public Class GreetingFault
    Private report As String

    Public Sub New(ByVal message As String)
      Me.report = message
    End Sub

    <DataMemberAttribute> _
    Public Property Message() As String
      Get
          Return Me.report
      End Get
      Set(ByVal value As String)
          Me.report = value
      End Set
    End Property
  End Class

  Friend Class SampleService
      Implements ISampleService
  #Region "ISampleService Members"

  Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
    Console.WriteLine("Client said: " & msg)
    ' Generate intermittent error behavior.
    Dim rand As New Random(DateTime.Now.Millisecond)
    Dim test As Integer = rand.Next(5)
    If test Mod 2 <> 0 Then
      Return "The service greets you: " & msg
    Else
      Throw New FaultException(Of GreetingFault)(New GreetingFault("A Greeting error occurred. You said: " & msg))
    End If
  End Function

  #End Region
  End Class
End Namespace

Комментарии

Объект сведений должен быть сериализуемым, или исключение будет вызываться при сериализации объекта FaultException<TDetail>.

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

FaultException<TDetail>(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса FaultException<TDetail> на основе указанных сведений о сериализации и контекста при десериализации потока в объект FaultException.

protected:
 FaultException(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
protected FaultException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new System.ServiceModel.FaultException<'Detail> : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.ServiceModel.FaultException<'Detail>
Protected Sub New (info As SerializationInfo, context As StreamingContext)

Параметры

info
SerializationInfo

Сведения о сериализации, необходимые для воссоздания объекта FaultException из параметра context.

context
StreamingContext

Поток, из которого воссоздается объект FaultException.

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

FaultException<TDetail>(TDetail, FaultReason)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений и причину ошибки.

public:
 FaultException(TDetail detail, System::ServiceModel::FaultReason ^ reason);
public FaultException (TDetail detail, System.ServiceModel.FaultReason reason);
new System.ServiceModel.FaultException<'Detail> : 'Detail * System.ServiceModel.FaultReason -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail, reason As FaultReason)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

reason
FaultReason

Причина ошибки SOAP.

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

FaultException<TDetail>(TDetail, String)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений и причину ошибки.

public:
 FaultException(TDetail detail, System::String ^ reason);
public FaultException (TDetail detail, string reason);
new System.ServiceModel.FaultException<'Detail> : 'Detail * string -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail, reason As String)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

reason
String

Причина ошибки SOAP.

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

FaultException<TDetail>(TDetail, FaultReason, FaultCode)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки и код ошибки.

public:
 FaultException(TDetail detail, System::ServiceModel::FaultReason ^ reason, System::ServiceModel::FaultCode ^ code);
public FaultException (TDetail detail, System.ServiceModel.FaultReason reason, System.ServiceModel.FaultCode code);
new System.ServiceModel.FaultException<'Detail> : 'Detail * System.ServiceModel.FaultReason * System.ServiceModel.FaultCode -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail, reason As FaultReason, code As FaultCode)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

reason
FaultReason

Причина ошибки SOAP.

code
FaultCode

Код ошибки для ошибки SOAP.

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

FaultException<TDetail>(TDetail, String, FaultCode)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки и код ошибки.

public:
 FaultException(TDetail detail, System::String ^ reason, System::ServiceModel::FaultCode ^ code);
public FaultException (TDetail detail, string reason, System.ServiceModel.FaultCode code);
new System.ServiceModel.FaultException<'Detail> : 'Detail * string * System.ServiceModel.FaultCode -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail, reason As String, code As FaultCode)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

reason
String

Причина ошибки SOAP.

code
FaultCode

Код ошибки для ошибки SOAP.

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

FaultException<TDetail>(TDetail, FaultReason, FaultCode, String)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки SOAP и значения кода и действий.

public:
 FaultException(TDetail detail, System::ServiceModel::FaultReason ^ reason, System::ServiceModel::FaultCode ^ code, System::String ^ action);
public FaultException (TDetail detail, System.ServiceModel.FaultReason reason, System.ServiceModel.FaultCode code, string action);
new System.ServiceModel.FaultException<'Detail> : 'Detail * System.ServiceModel.FaultReason * System.ServiceModel.FaultCode * string -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail, reason As FaultReason, code As FaultCode, action As String)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

reason
FaultReason

Причина ошибки SOAP.

code
FaultCode

Код ошибки для ошибки SOAP.

action
String

Действие ошибки SOAP.

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

FaultException<TDetail>(TDetail, String, FaultCode, String)

Инициализирует новый экземпляр класса FaultException<TDetail>, использующий указанные объект сведений, причину ошибки SOAP и значения кода и действий.

public:
 FaultException(TDetail detail, System::String ^ reason, System::ServiceModel::FaultCode ^ code, System::String ^ action);
public FaultException (TDetail detail, string reason, System.ServiceModel.FaultCode code, string action);
new System.ServiceModel.FaultException<'Detail> : 'Detail * string * System.ServiceModel.FaultCode * string -> System.ServiceModel.FaultException<'Detail>
Public Sub New (detail As TDetail, reason As String, code As FaultCode, action As String)

Параметры

detail
TDetail

Объект, используемый в качестве сведений об ошибке SOAP.

reason
String

Причина ошибки SOAP.

code
FaultCode

Код ошибки для ошибки SOAP.

action
String

Действие ошибки SOAP.

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