FaultException Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 true
nesneleri 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) |