CommunicationException Klasa

Definicja

Reprezentuje błąd komunikacji w usłudze lub aplikacji klienckiej.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
Dziedziczenie
CommunicationException
Dziedziczenie
CommunicationException
Pochodne
Atrybuty

Przykłady

Poniższy przykład kodu pokazuje klienta, który obsługuje CommunicationException typy.The following code example shows a client that handles CommunicationException types. Ten klient obsługuje również FaultException obiekty, ponieważ usługa ma IncludeExceptionDetailInFaults ustawioną wartość 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

Uwagi

Niezawodne aplikacje Windows Communication Foundation klienta i usług obsługują CommunicationException obiekty, które mogą być zgłaszane podczas komunikacji.Robust client and service Windows Communication Foundation (WCF) applications handle CommunicationException objects that may be thrown during communication. Istnieją również dwa CommunicationException pochodne typy wyjątków ( FaultException<TDetail> i FaultException ), które są często oczekiwane przez klientów.There are also two CommunicationException-derived exception types (FaultException<TDetail> and FaultException) that clients also often expect. W związku z tym, aby zapobiec CommunicationException wychwyceniu tych bardziej szczegółowych typów wyjątków przez program obsługi ogólnej, należy przechwycić te wyjątki przed obsługą 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 obiekty są generowane, gdy odbiornik odbiera błąd protokołu SOAP, który nie jest oczekiwany lub określony w kontrakcie operacji.FaultException objects are thrown when a listener receives a SOAP fault that is not expected or specified in the operation contract. Zwykle dzieje się tak, gdy aplikacja jest debugowana, a usługa ma IncludeExceptionDetailInFaults Właściwość ustawioną na true .This usually occurs when the application is being debugged and the service has the IncludeExceptionDetailInFaults property set to true.

Uwaga

W przypadku implementowania niestandardowych kanałów i elementów powiązań zdecydowanie zaleca się, aby składniki wyrzucają tylko System.TimeoutException CommunicationException obiekty pochodne lub.When implementing custom channels and binding elements, it is strongly recommended that your components throw only System.TimeoutException or CommunicationException-derived objects. W przypadku, gdy składniki zgłaszają odwracalny wyjątek, który jest specyficzny dla składnika, zawiń ten wyjątek wewnątrz CommunicationException obiektu.In the case where your components throw a recoverable exception that is specific to the component, wrap that exception inside a CommunicationException object.

Aby uzyskać więcej informacji na temat projektowania i używania systemu błędów WCF, zobacz określanie i obsługa błędów w kontraktach i usługach.For more details about designing and using the WCF fault system, see Specifying and Handling Faults in Contracts and Services.

Ważne

Środowisko uruchomieniowe WCF nie zgłosi CommunicationException , że nie jest to bezpieczne do obsłużenia w punkcie, w którym opuszcza środowisko uruchomieniowe WCF i wprowadza kod użytkownika.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.

Konstruktory

CommunicationException()

Inicjuje nowe wystąpienie klasy CommunicationException.Initializes a new instance of the CommunicationException class.

CommunicationException(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie CommunicationException klasy, używając określonych informacji serializacji i obiektów kontekstu.Initializes a new instance of the CommunicationException class, using the specified serialization information and context objects.

CommunicationException(String)

Inicjuje nowe wystąpienie CommunicationException klasy przy użyciu określonego komunikatu.Initializes a new instance of the CommunicationException class, using the specified message.

CommunicationException(String, Exception)

Inicjuje nowe wystąpienie CommunicationException klasy, używając określonego komunikatu i wewnętrznego wyjątku.Initializes a new instance of the CommunicationException class, using the specified message and the inner exception.

Właściwości

Data

Pobiera kolekcję par klucz/wartość, które zawierają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Odziedziczone po Exception)
HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.Gets or sets a link to the help file associated with this exception.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia wartość HRESULT, kodowane wartości liczbowe przypisane do określonego wyjątku.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Odziedziczone po Exception)
InnerException

Pobiera Exception wystąpienie, które spowodowało bieżący wyjątek.Gets the Exception instance that caused the current exception.

(Odziedziczone po Exception)
Message

Pobiera komunikat, który opisuje bieżący wyjątek.Gets a message that describes the current exception.

(Odziedziczone po Exception)
Source

Pobiera lub ustawia nazwę aplikacji lub obiekt, który powoduje błąd.Gets or sets the name of the application or the object that causes the error.

(Odziedziczone po Exception)
StackTrace

Pobiera ciąg reprezentujący bezpośrednie ramki w stosie wywołań.Gets a string representation of the immediate frames on the call stack.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.Gets the method that throws the current exception.

(Odziedziczone po Exception)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetBaseException()

Gdy jest zastępowany w klasie pochodnej, zwraca wartość Exception będącą główną przyczyną jednego lub kilku kolejnych wyjątków.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Gdy jest zastępowany w klasie pochodnej, ustawia SerializationInfo Informacje o wyjątku.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Odziedziczone po Exception)
GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.Gets the runtime type of the current instance.

(Odziedziczone po Exception)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Tworzy i zwraca reprezentację ciągu bieżącego wyjątku.Creates and returns a string representation of the current exception.

(Odziedziczone po Exception)

Zdarzenia

SerializeObjectState

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku, który zawiera serializowane dane dotyczące wyjątku.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Odziedziczone po Exception)

Dotyczy