FaultException Sınıf

Tanım

SOAP hatalarını temsil eder.

public ref class FaultException : System::ServiceModel::CommunicationException
public class FaultException : System.ServiceModel.CommunicationException
[System.Serializable]
public class FaultException : System.ServiceModel.CommunicationException
[System.Serializable]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultCodeData[]))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultReasonData[]))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultCodeData))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultReasonData))]
public class FaultException : System.ServiceModel.CommunicationException
type FaultException = class
    inherit CommunicationException
[<System.Serializable>]
type FaultException = class
    inherit CommunicationException
[<System.Serializable>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultCodeData[]))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultReasonData[]))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultCodeData))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException+FaultReasonData))>]
type FaultException = class
    inherit CommunicationException
Public Class FaultException
Inherits CommunicationException
Devralma
Devralma
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki kod örneği, bir hizmetten atılan nesneleri yakalamak ve işlemek FaultException için try/catch bloğunun kullanımını gösterir. Bu durum genellikle hizmet uygulamasında hata ayıklama açık olduğunda oluşur.

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using Microsoft.WCF.Documentation;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the configuration file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));
      Console.WriteLine("Press ENTER to exit:");
      Console.ReadLine();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.ReadLine();
    }
    // Catch the contractually specified SOAP fault raised here as an exception.
    catch (FaultException<GreetingFault> greetingFault)
    {
      Console.WriteLine(greetingFault.Detail.Message);
      Console.Read();
      wcfClient.Abort();
    }
    // Catch unrecognized faults. This handler receives exceptions thrown by WCF
    // services when ServiceDebugBehavior.IncludeExceptionDetailInFaults
    // is set to true.
    catch (FaultException faultEx)
    {
      Console.WriteLine("An unknown exception was received. "
        + faultEx.Message
        + faultEx.StackTrace
      );
      Console.Read();
      wcfClient.Abort();
    }
    // Standard communication fault handler.
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message + commProblem.StackTrace);
      Console.Read();
      wcfClient.Abort();
    }
  }
}

Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports Microsoft.WCF.Documentation

Public Class Client
  Public Shared Sub Main()
    ' Picks up configuration from the configuration file.
    Dim wcfClient As New SampleServiceClient()
    Try
      ' Making calls.
      Console.WriteLine("Enter the greeting to send: ")
      Dim greeting As String = Console.ReadLine()
      Console.WriteLine("The service responded: " & wcfClient.SampleMethod(greeting))
      Console.WriteLine("Press ENTER to exit:")
      Console.ReadLine()
    Catch timeProblem As TimeoutException
      Console.WriteLine("The service operation timed out. " & timeProblem.Message)
      wcfClient.Abort()
      Console.ReadLine()
    ' Catch the contractually specified SOAP fault raised here as an exception.
    Catch greetingFault As FaultException(Of GreetingFault)
      Console.WriteLine(greetingFault.Detail.Message)
      Console.Read()
      wcfClient.Abort()
    ' Catch unrecognized faults. This handler receives exceptions thrown by WCF
    ' services when ServiceDebugBehavior.IncludeExceptionDetailInFaults 
    ' is set to true.
    Catch faultEx As FaultException
      Console.WriteLine("An unknown exception was received. " & faultEx.Message + faultEx.StackTrace)
      Console.Read()
      wcfClient.Abort()
    ' Standard communication fault handler.
    Catch commProblem As CommunicationException
      Console.WriteLine("There was a communication problem. " & commProblem.Message + commProblem.StackTrace)
      Console.Read()
      wcfClient.Abort()
    End Try
  End Sub
End Class

Açıklamalar

Bir hizmette FaultException , hata ayıklama amacıyla istemciye dönmek üzere yazılmamış bir hata oluşturmak için sınıfını kullanın.

İstemcide, özelliği olarak ayarlanmış bir hizmet tarafından döndürülenler gibi bilinmeyen veya genel hataları işlemek için truenesneleri yakalayın.FaultException IncludeExceptionDetailInFaults genişletir CommunicationExceptionçünkü FaultException nesneleri ayrı olarak yakalamak FaultException istiyorsanız, nesneleri yakalamadan CommunicationException önce yakalamayı unutmayın.

Not

Çift yönlü hizmetler, çift yönlü istemciyle etkileşimlerinden döndürülen nesneleri de yakalayabilir FaultException .

Genel olarak, istemcinin FaultContractAttribute hata bilgileri gerektirdiğine karar vereceğiniz tüm hata durumlarında, hizmetlerinizi kesin olarak türlenmiş SOAP hataları (yönetilen özel durum nesneleri değil) döndürecek şekilde tasarlamak için kullanmanız kesinlikle önerilir. Ancak, aşağıdaki durumlarda kullanın FaultException :

  • Bir hizmetten hata ayıklama amacıyla SOAP hataları göndermek için.

  • Hatalar hizmet sözleşmesinin parçası olmadığında istemcide SOAP hatalarını yakalamak için.

Dizenin oluşturucuya geçirilmesini ve istemci tarafından yöntemini çağırarak FaultException<TDetail>.ToString alınmasını istediğinizde nesneleri oluşturunFaultException. tür parametresinin olduğu türde System.ServiceModel.FaultException<TDetail> bir hata sözleşmesi belirtirseniz, dize değeri çağrılarak FaultException<TDetail>.ToStringdeğil özelliği olarak FaultException<TDetail>.Detail System.Stringkullanılabilir.

Ayrıntılar için bkz. Sözleşmelerde ve Hizmetlerde Hataları Belirtme ve İşleme.

Oluşturucular

FaultException()

FaultException sınıfının yeni bir örneğini başlatır.

FaultException(FaultReason)

Belirtilen nedeni kullanarak sınıfının yeni bir örneğini FaultException başlatır.

FaultException(FaultReason, FaultCode)

Belirtilen nedeni ve hata kodunu kullanarak sınıfının yeni bir örneğini FaultException başlatır.

FaultException(FaultReason, FaultCode, String)

Belirtilen nedeni, hata kodunu ve eylem değerini kullanarak sınıfın yeni bir örneğini FaultException başlatır.

FaultException(MessageFault)

Belirtilen ileti hata değerlerini kullanarak sınıfının yeni bir örneğini FaultException başlatır.

FaultException(MessageFault, String)

Belirtilen ileti hata değerlerini ve sağlanan eylem dizesini FaultException kullanarak sınıfının yeni bir örneğini başlatır.

FaultException(SerializationInfo, StreamingContext)

Bir akışı bir nesnede FaultException seri durumdan çıkarırken belirtilen serileştirme bilgilerini ve bağlamını kullanarak sınıfının yeni bir FaultException örneğini başlatır.

FaultException(String)

Belirtilen hata nedeni ile sınıfının yeni bir örneğini FaultException başlatır.

FaultException(String, FaultCode)

Belirtilen nedeni ve SOAP hata kodunu kullanarak sınıfının yeni bir örneğini FaultException başlatır.

FaultException(String, FaultCode, String)

Belirtilen nedeni, hata kodunu ve eylem değerini kullanarak sınıfın yeni bir örneğini FaultException başlatır.

Özellikler

Action

Hata iletisi için SOAP eyleminin değerini alır.

Code

SOAP hatası için hata kodunu alır.

Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan bir anahtar/değer çifti koleksiyonu alır.

(Devralındığı yer: Exception)
HelpLink

Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar.

(Devralındığı yer: Exception)
HResult

Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT değerini alır veya ayarlar.

(Devralındığı yer: Exception)
InnerException

Exception Geçerli özel duruma neden olan örneği alır.

(Devralındığı yer: Exception)
Message

Özel durum için iletiyi alır.

Reason

SOAP hatası için öğesini FaultReason alır.

Source

Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar.

(Devralındığı yer: Exception)
StackTrace

Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır.

(Devralındığı yer: Exception)
TargetSite

Geçerli özel durumu oluşturan yöntemini alır.

(Devralındığı yer: Exception)

Yöntemler

CreateFault(MessageFault, String, Type[])

FaultException Belirtilen ileti hatasından, eyleminden ve ayrıntı türlerinden oluşan bir diziden bir nesne döndürür.

CreateFault(MessageFault, Type[])

Belirtilen ileti hatasından bir FaultException nesne ve bir dizi ayrıntı türü döndürür.

CreateMessageFault()

Döndürür bir MessageFault nesne.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetBaseException()

Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan değerini döndürür Exception .

(Devralındığı yer: Exception)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)

GetObjectData(SerializationInfo, StreamingContext) Nesne bir akışta seri hale getirildiğinde çağrılan yöntemin uygulanması.

GetObjectData(SerializationInfo, StreamingContext)

Türetilmiş bir sınıfta geçersiz kılındığında, özel durum hakkındaki bilgilerle öğesini ayarlar SerializationInfo .

(Devralındığı yer: Exception)
GetType()

Geçerli örneğin çalışma zamanı türünü alır.

(Devralındığı yer: Exception)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli özel durumun dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: Exception)

Ekinlikler

SerializeObjectState
Kullanımdan kalktı.

Bir özel durum, özel durum hakkında serileştirilmiş veriler içeren bir özel durum nesnesi oluşturmak üzere seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır