CommunicationException CommunicationException CommunicationException CommunicationException Class

Definition

Stellt einen Kommunikationsfehler in der Dienst- oder der Clientanwendung dar.Represents a communication error in either the service or client application.

public ref class CommunicationException : SystemException
[System.Serializable]
public class CommunicationException : SystemException
type CommunicationException = class
    inherit SystemException
Public Class CommunicationException
Inherits SystemException
Vererbung
CommunicationExceptionCommunicationExceptionCommunicationExceptionCommunicationException
Abgeleitet
Attribute

Beispiele

Im folgenden Codebeispiel wird ein Client gezeigt, der CommunicationException-Typen verarbeitet.The following code example shows a client that handles CommunicationException types. Dieser Client verarbeitet auch FaultException-Objekte, da beim Dienst IncludeExceptionDetailInFaults auf true festgelegt ist.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

Hinweise

Robuste Client-und Dienst Windows Communication Foundation (WCF)- CommunicationException Anwendungen verarbeiten Objekte, die möglicherweise während der Kommunikation ausgelöst werden.Robust client and service Windows Communication Foundation (WCF) applications handle CommunicationException objects that may be thrown during communication. Es gibt auch zwei von CommunicationException abgeleitete Ausnahmetypen (FaultException<TDetail> und FaultException), die häufig von Clients erwartet werden.There are also two CommunicationException-derived exception types (FaultException<TDetail> and FaultException) that clients also often expect. Um daher zu verhindern, dass der generische CommunicationException-Handler diese spezifischeren Ausnahmetypen abfängt, müssen die Ausnahmen vor der Verarbeitung von CommunicationException abgefangen werden.Therefore, in order to prevent the generic CommunicationException handler from catching these more specific exception types, catch these exceptions prior to handling CommunicationException.

FaultException-Objekte werden ausgelöst, wenn ein Listener einen SOAP-Fehler empfängt, der nicht im Vorgangsvertrag erwartet oder angegeben wird.FaultException objects are thrown when a listener receives a SOAP fault that is not expected or specified in the operation contract. Dies tritt in der Regel auf, wenn für die Anwendung ein Debugvorgang durchgeführt wird und die IncludeExceptionDetailInFaults-Eigenschaft des Diensts auf true festgelegt wurde.This usually occurs when the application is being debugged and the service has the IncludeExceptionDetailInFaults property set to true.

Hinweis

Beim Implementieren benutzerdefinierter Kanäle und Bindungselemente wird dringend empfohlen, dass Ihre Komponenten nur von System.TimeoutException oder CommunicationException abgeleitete Objekte auslösen.When implementing custom channels and binding elements, it is strongly recommended that your components throw only System.TimeoutException or CommunicationException-derived objects. Wenn Ihre Komponenten eine behebbare Ausnahme ausgeben, die spezifisch für die Komponente ist, betten Sie diese Ausnahme in ein CommunicationException-Objekt ein.In the case where your components throw a recoverable exception that is specific to the component, wrap that exception inside a CommunicationException object.

Weitere Informationen zum Entwerfen und Verwenden des WCF-Fehler Systems finden Sie unter angeben und behandeln von Fehlern in Verträgen und Diensten.For more details about designing and using the WCF fault system, see Specifying and Handling Faults in Contracts and Services.

Wichtig

Die WCF-Laufzeit löst keine CommunicationException aus, die unsicher ist, wenn Sie die WCF-Laufzeit verlässt und in den Benutzercode gelangt.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.

Konstruktoren

CommunicationException() CommunicationException() CommunicationException() CommunicationException()

Initialisiert eine neue Instanz der CommunicationException-Klasse.Initializes a new instance of the CommunicationException class.

CommunicationException(SerializationInfo, StreamingContext) CommunicationException(SerializationInfo, StreamingContext) CommunicationException(SerializationInfo, StreamingContext) CommunicationException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der CommunicationException-Klasse mit den angegebenen Serialisierungsinformationen und Kontextobjekten.Initializes a new instance of the CommunicationException class, using the specified serialization information and context objects.

CommunicationException(String) CommunicationException(String) CommunicationException(String) CommunicationException(String)

Initialisiert eine neue Instanz der CommunicationException-Klasse unter Verwendung der angegebenen Nachricht.Initializes a new instance of the CommunicationException class, using the specified message.

CommunicationException(String, Exception) CommunicationException(String, Exception) CommunicationException(String, Exception) CommunicationException(String, Exception)

Initialisiert eine neue Instanz der CommunicationException-Klasse unter Verwendung der angegebenen Nachricht und der internen Ausnahme.Initializes a new instance of the CommunicationException class, using the specified message and the inner exception.

Eigenschaften

Data Data Data Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen über die Ausnahme bereitstellen.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ruft eine Meldung ab, die die aktuelle Ausnahme beschreibt.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.Gets the method that throws the current exception.

(Inherited from Exception)

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die ursprüngliche Ursache für eine oder mehrere nachfolgende Ausnahmen ist.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Ereignisse

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Gilt für: