Aracılığıyla paylaş


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, 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.FaultExceptionIncludeExceptionDetailInFaults genişletmesi CommunicationExceptionnedeniyleFaultException, nesneleri ayrı olarak yakalamak FaultException istiyorsanız, nesneleri yakalamadan CommunicationException önce yakalamayı unutmayın.

Uyarı

Ç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ürü belirlenmiş SOAP hataları (ve yönetilen özel durum nesneleri) 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 bir parçası olmadığında istemcide SOAP hatalarını yakalamak için.

Dizenin oluşturucuya geçirilmesini ve yöntemini çağırarak FaultException<TDetail>.ToString istemci tarafından 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>.DetailSystem.Stringkullanılabilir.

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

Oluşturucular

Name Description
FaultException()

FaultException sınıfının yeni bir örneğini 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(FaultReason, FaultCode)

Belirtilen nedeni ve hata kodunu kullanarak sınıfın FaultException 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(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(MessageFault)

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

FaultException(SerializationInfo, StreamingContext)

Bir akışı bir nesneye FaultException seri durumdan çıkarırken belirtilen serileştirme bilgilerini ve bağlamı kullanarak sınıfın yeni bir FaultException örneğini 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.

FaultException(String, FaultCode)

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

FaultException(String)

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

Özellikler

Name Description
Action

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

Code

SOAP hatasının hata kodunu alır.

Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu 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

Name Description
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()

Bir MessageFault nesne döndürür.

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ı.

GetType()

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

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

Geçerli Objectbasit 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

Name Description
SerializeObjectState
Geçersiz.

Özel durum hakkında serileştirilmiş veriler içeren bir özel durum durumu nesnesi oluşturmak için bir özel durum seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır