CommunicationException Sınıf

Tanım

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
CommunicationException
Devralma
CommunicationException
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki kod örneği, türleri işleyen CommunicationException bir istemciyi gösterir. Hizmet IncludeExceptionDetailInFaults olarak ayarlandığından truebu 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şlerCommunicationException. İstemcilerin sıklıkla beklediği iki CommunicationExceptiontüretilmiş özel durum türü (FaultException<TDetail> ve FaultException) de vardır. Bu nedenle, genel CommunicationException işleyicinin bu daha belirli özel durum türlerini yakalamasını önlemek için, işlemeden CommunicationExceptionönce bu özel durumları yakalayın.

FaultException nesneleri, bir dinleyici beklenen veya işlem sözleşmesinde belirtilmeyen bir SOAP hatası aldığında oluşturulur. Bu durum genellikle uygulama hata ayıklandığında ve hizmet IncludeExceptionDetailInFaults özelliği olarak trueayarlandığında oluşur.

Not

Ö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şlemek için güvenli olmayan bir CommunicationException oluşturmaz.

Oluşturucular

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)

Belirtilen iletiyi 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.

Özellikler

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

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

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)

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