CommunicationException Sınıf

Tanım

Hizmet veya istemci uygulamasında bir iletişim hatasını temsil eder.Represents a communication error in either the service or client application.

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 bir istemciyi gösterir CommunicationException .The following code example shows a client that handles CommunicationException types. Bu istemci FaultException , hizmet IncludeExceptionDetailInFaults olarak ayarlandığı için nesneleri de işler true .This client also handles FaultException objects because the service has IncludeExceptionDetailInFaults set to true.

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ı, CommunicationException iletişim sırasında oluşturulabilecek nesneleri işler.Robust client and service Windows Communication Foundation (WCF) applications handle CommunicationException objects that may be thrown during communication. Ayrıca, CommunicationException FaultException<TDetail> istemcilerin da genellikle beklediği iki türetilmiş özel durum türleri (ve FaultException ) vardır.There are also two CommunicationException-derived exception types (FaultException<TDetail> and FaultException) that clients also often expect. Bu nedenle, genel CommunicationException işleyicinin bu daha özel özel durum türlerini yakalemesini engellemek için, bu özel durumları işleme öncesinde yakalayın CommunicationException .Therefore, in order to prevent the generic CommunicationException handler from catching these more specific exception types, catch these exceptions prior to handling CommunicationException.

FaultException bir dinleyici, işlem sözleşmesinde beklenmeyen veya belirtilen bir SOAP hatası aldığında oluşur.FaultException objects are thrown when a listener receives a SOAP fault that is not expected or specified in the operation contract. Bu genellikle uygulamanın hata ayıklaması yapıldığında ve hizmetin IncludeExceptionDetailInFaults özelliği olarak ayarlandığında oluşur true .This usually occurs when the application is being debugged and the service has the IncludeExceptionDetailInFaults property set to true.

Not

Özel kanallar ve bağlama öğeleri uygularken, bileşenlerinizin yalnızca System.TimeoutException veya türetilen nesneleri oluşturması önemle tavsiye edilir CommunicationException .When implementing custom channels and binding elements, it is strongly recommended that your components throw only System.TimeoutException or CommunicationException-derived objects. Bileşenlerinizin bileşene özel kurtarılabilir bir özel durum oluşturması durumunda bu özel durumu bir nesne içinde sarın CommunicationException .In the case where your components throw a recoverable exception that is specific to the component, wrap that exception inside a CommunicationException object.

WCF hata sistemi tasarlama ve kullanma hakkında daha fazla ayrıntı için bkz. sözleşmelerdeki hataları belirtme ve işleme.For more details about designing and using the WCF fault system, see Specifying and Handling Faults in Contracts and Services.

Önemli

WCF çalışma zamanı, CommunicationException WCF çalışma zamanını bıraktığı ve Kullanıcı kodu girdiği noktada işlenmesi güvenli olmayan bir oluşturmaz.The WCF Runtime will not throw a CommunicationException that is unsafe to handle at the point where it leaves the WCF Runtime and enters user code.

Oluşturucular

CommunicationException()

CommunicationException sınıfının yeni bir örneğini başlatır.Initializes a new instance of the CommunicationException class.

CommunicationException(SerializationInfo, StreamingContext)

CommunicationExceptionBelirtilen serileştirme bilgilerini ve bağlam nesnelerini kullanarak sınıfının yeni bir örneğini başlatır.Initializes a new instance of the CommunicationException class, using the specified serialization information and context objects.

CommunicationException(String)

CommunicationExceptionBelirtilen iletiyi kullanarak sınıfının yeni bir örneğini başlatır.Initializes a new instance of the CommunicationException class, using the specified message.

CommunicationException(String, Exception)

CommunicationExceptionBelirtilen iletiyi ve iç özel durumu kullanarak sınıfının yeni bir örneğini başlatır.Initializes a new instance of the CommunicationException class, using the specified message and the inner exception.

Özellikler

Data

Özel durum hakkında ek kullanıcı tanımlı bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu alır.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

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

Bu özel durumla ilişkili Yardım dosyasının bağlantısını alır veya ayarlar.Gets or sets a link to the help file associated with this exception.

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

Belirli bir özel duruma atanan kodlanmış bir sayısal değer olan HRESULT 'yi alır veya ayarlar.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

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

ExceptionGeçerli özel duruma neden olan örneği alır.Gets the Exception instance that caused the current exception.

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

Geçerli özel durumu açıklayan bir ileti alır.Gets a message that describes the current exception.

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

Uygulamanın veya hataya neden olan nesnenin adını alır veya ayarlar.Gets or sets the name of the application or the object that causes the error.

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

Çağrı yığınında anlık çerçevelerin dize gösterimini alır.Gets a string representation of the immediate frames on the call stack.

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

Geçerli özel durumu oluşturan yöntemi alır.Gets the method that throws the current exception.

(Devralındığı yer: Exception)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

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

Türetilmiş bir sınıfta geçersiz kılınırsa, Exception bir veya daha fazla sonraki özel durumun kök nedeni olan öğesini döndürür.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

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

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

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

Türetilmiş bir sınıfta geçersiz kılınırsa, SerializationInfo özel durum hakkındaki bilgileri ayarlar.When overridden in a derived class, sets the SerializationInfo with information about the exception.

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

Geçerli örneğin çalışma zamanı türünü alır.Gets the runtime type of the current instance.

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

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

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

Geçerli özel durumun dize gösterimini oluşturur ve döndürür.Creates and returns a string representation of the current exception.

(Devralındığı yer: Exception)

Ekinlikler

SerializeObjectState

Özel durum hakkında serileştirilmiş veri içeren bir özel durum nesnesi oluşturmak için bir özel durum serileştirildiğinde gerçekleşir.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Devralındığı yer: Exception)

Şunlara uygulanır