CommunicationException 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.
Hizmet veya istemci uygulamasındaki bir iletişim hatasını temsil eder.
public ref class CommunicationException : Exception
public ref class CommunicationException : SystemException
public class CommunicationException : Exception
[System.Serializable]
public class CommunicationException : SystemException
type CommunicationException = class
inherit Exception
[<System.Serializable>]
type CommunicationException = class
inherit SystemException
Public Class CommunicationException
Inherits Exception
Public Class CommunicationException
Inherits SystemException
- Devralma
- Devralma
- Türetilmiş
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, türleri işleyen CommunicationException bir istemciyi gösterir. Hizmet olarak ayarlandığından IncludeExceptionDetailInFaultstrue, bu istemci nesneleri de işlerFaultException.
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
Sağlam istemci ve hizmet Windows Communication Foundation (WCF) uygulamaları, iletişim sırasında oluşturulabilecek nesneleri işler CommunicationException . İstemcilerin de genellikle beklediği iki CommunicationExceptiontüretilmiş özel durum türü (FaultException<TDetail> ve FaultException) vardır. Bu nedenle, genel CommunicationException işleyicinin bu daha belirli özel özel durum türlerini yakalamasını önlemek için, işlemeden CommunicationExceptionönce bu özel durumları yakalayın.
-
FaultException<TDetail>nesneleri, işlem sözleşmesinde belirtilen bir SOAP hatası iki yönlü bir işleme (yani, değerine ayarlanmış özniteliği IsOneWay olan bir OperationContractAttribute yöntem) yanıt olarak alındığında istemcide
falseoluşturulur.
FaultException nesneler, bir dinleyici işlem sözleşmesinde beklenmeyen veya belirtilmeyen bir SOAP hatası aldığında oluşturulur. Bu durum genellikle uygulama hata ayıklanırken ve hizmet IncludeExceptionDetailInFaults özelliği olarak trueayarlandığında oluşur.
Uyarı
Özel kanalları ve bağlama öğelerini uygularken, bileşenlerinizin yalnızca System.TimeoutException veya CommunicationExceptiontüretilmiş nesneler oluşturması kesinlikle önerilir. Bileşenlerinizin bileşene özgü kurtarılabilir bir özel durum oluşturması durumunda, bu özel durumu bir CommunicationException nesnenin içine sarmalar.
WCF hata sistemini tasarlama ve kullanma hakkında daha fazla ayrıntı için bkz. Sözleşmelerde ve Hizmetlerde Hataları Belirtme ve İşleme.
Önemli
WCF Çalışma Zamanı, WCF Çalışma Zamanı'nı bıraktığı ve kullanıcı kodunu girdiği noktada işlenmek üzere güvenli olmayan bir CommunicationException oluşturmaz.
Oluşturucular
| Name | Description |
|---|---|
| CommunicationException() |
CommunicationException sınıfının yeni bir örneğini başlatır. |
| CommunicationException(SerializationInfo, StreamingContext) |
Belirtilen serileştirme bilgilerini ve bağlam nesnelerini kullanarak sınıfının yeni bir örneğini CommunicationException başlatır. |
| CommunicationException(String, Exception) |
Belirtilen iletiyi ve iç özel durumu kullanarak sınıfının yeni bir örneğini CommunicationException başlatır. |
| CommunicationException(String) |
Belirtilen iletiyi kullanarak sınıfının yeni bir örneğini CommunicationException başlatır. |
Özellikler
| Name | Description |
|---|---|
| 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 |
Geçerli özel durumu açıklayan bir ileti alır. (Devralındığı yer: Exception) |
| 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 |
|---|---|
| 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) |
Geçersiz.
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 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) |