CommunicationException CommunicationException CommunicationException CommunicationException Class

Definizione

Rappresenta un errore di comunicazione in un'applicazione lato server o lato client.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
Ereditarietà
CommunicationExceptionCommunicationExceptionCommunicationExceptionCommunicationException
Derivato
Attributi

Esempi

Nell'esempio di codice seguente viene mostrato un client che gestisce le eccezioni di tipo CommunicationException.The following code example shows a client that handles CommunicationException types. Poiché la proprietà FaultException del servizio è impostata su IncludeExceptionDetailInFaults, questo client gestisce anche gli oggetti 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
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

Commenti

Client affidabili e servizio handle di applicazioni Windows Communication Foundation (WCF) CommunicationException gli oggetti che possono essere generati durante la comunicazione.Robust client and service Windows Communication Foundation (WCF) applications handle CommunicationException objects that may be thrown during communication. Esistono inoltre due tipi di eccezione derivati dall'eccezione CommunicationException (ovvero FaultException<TDetail> e FaultException) e che i client rilevano con frequenza.There are also two CommunicationException-derived exception types (FaultException<TDetail> and FaultException) that clients also often expect. Pertanto, per evitare che il gestore delle eccezioni più generiche CommunicationException rilevi queste eccezioni più specifiche, queste devono essere rilevate prima di gestire l'eccezione CommunicationException.Therefore, in order to prevent the generic CommunicationException handler from catching these more specific exception types, catch these exceptions prior to handling CommunicationException.

Gli oggetti FaultException vengono generati quando un listener riceve un errore SOAP che non è previsto o specificato nel contratto di operazione.FaultException objects are thrown when a listener receives a SOAP fault that is not expected or specified in the operation contract. Ciò in genere si verifica durante il debug dell'applicazione quando la proprietà IncludeExceptionDetailInFaults del servizio è impostata su true.This usually occurs when the application is being debugged and the service has the IncludeExceptionDetailInFaults property set to true.

Nota

Quando si implementano canali personalizzati ed elementi di associazione, è consigliabile che i componenti utilizzati generino solo eccezioni System.TimeoutException oppure oggetti derivati da eccezioni CommunicationException.When implementing custom channels and binding elements, it is strongly recommended that your components throw only System.TimeoutException or CommunicationException-derived objects. Qualora ogni componente utilizzato generi un'eccezione reversibile specifica, eseguirne il wrapping in un oggetto CommunicationException.In the case where your components throw a recoverable exception that is specific to the component, wrap that exception inside a CommunicationException object.

Per altre informazioni sulla progettazione e utilizzando il sistema di errore WCF, vedere se si specifica e gestione degli errori in contratti e servizi.For more details about designing and using the WCF fault system, see Specifying and Handling Faults in Contracts and Services.

Importante

Il Runtime di WCF non genererà un CommunicationException che non è sicuro per gestire in corrispondenza del punto in cui viene trasferito al Runtime WCF e si immette il codice utente.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.

Costruttori

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

Inizializza una nuova istanza della classe CommunicationException.Initializes a new instance of the CommunicationException class.

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

Consente di inizializzare una nuova istanza della classe CommunicationException utilizzando gli oggetti specificati relativi alle informazioni e al contesto di serializzazione.Initializes a new instance of the CommunicationException class, using the specified serialization information and context objects.

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

Consente di inizializzare una nuova istanza della classe CommunicationException utilizzando il messaggio specificato.Initializes a new instance of the CommunicationException class, using the specified message.

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

Consente di inizializzare una nuova istanza della classe CommunicationException utilizzando il messaggio e l'eccezione interna specificati.Initializes a new instance of the CommunicationException class, using the specified message and the inner exception.

Proprietà

Data Data Data Data

Ottiene una raccolta di coppie chiave-valore che fornisce informazioni aggiuntive definite dall'utente relative all'eccezione.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ottiene un messaggio che descrive l'eccezione corrente.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ottiene il metodo che genera l'eccezione corrente.Gets the method that throws the current exception.

(Inherited from Exception)

Metodi

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Se utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.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()

Funge da funzione hash predefinita.Serves as the default hash function.

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

Quando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna.When overridden in a derived class, sets the SerializationInfo with information about the exception.

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

Ottiene il tipo di runtime dell'istanza corrente.Gets the runtime type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Crea e restituisce una rappresentazione di stringa dell'eccezione corrente.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Eventi

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Si applica a