CommunicationException Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une erreur de communication dans le service ou l'application cliente.
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
- Héritage
- Héritage
- Dérivé
- Attributs
Exemples
L'exemple de code suivant illustre un client qui gère les types CommunicationException. Ce client gère également les objets FaultException car la valeur IncludeExceptionDetailInFaults est affectée à la propriété true
du service .
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
Remarques
Les applications client et service robustes Windows Communication Foundation (WCF) gèrent CommunicationException les objets qui peuvent être levées pendant la communication. Il existe également deux types d'exception dérivés de l'CommunicationException (FaultException<TDetail> et FaultException) que les clients attendent souvent. Par conséquent, pour empêcher que le gestionnaire CommunicationException générique intercepte ces types d'exception plus spécifiques, interceptez ces exceptions avant de gérer CommunicationException.
- FaultException<TDetail> les objets sont levées sur le client lorsqu’une erreur SOAP spécifiée dans le contrat d’opération est reçue en réponse à une opération bidirectionnelle (autrement dit, une méthode avec un OperationContractAttribute attribut avec IsOneWay défini sur
false
).
FaultException les objets sont levées lorsqu’un écouteur reçoit une erreur SOAP qui n’est pas attendue ou spécifiée dans le contrat d’opération. Cela se produit habituellement lorsque l'application est déboguée et que la valeur IncludeExceptionDetailInFaults est affectée à la propriété true
du service.
Notes
Lors de l’implémentation de canaux personnalisés et d’éléments de liaison, il est fortement recommandé que vos composants lèvent uniquement des objets dérivés de l’System.TimeoutException ou CommunicationException. Dans le cas où vos composants lèvent une exception récupérable qui est spécifique au composant, encapsulez cette exception dans un objet CommunicationException.
Pour plus d’informations sur la conception et l’utilisation du système d’erreur WCF, consultez Spécification et gestion des erreurs dans les contrats et les services.
Important
Le runtime WCF ne lève pas un CommunicationException élément non sécurisé à gérer au moment où il quitte le runtime WCF et entre le code utilisateur.
Constructeurs
CommunicationException() |
Initialise une nouvelle instance de la classe CommunicationException. |
CommunicationException(SerializationInfo, StreamingContext) |
Initialise une nouvelle instance de la classe CommunicationException à l'aide des informations de sérialisation et des objets de contexte spécifiés. |
CommunicationException(String) |
Initialise une nouvelle instance de la classe CommunicationException à l'aide du message spécifié. |
CommunicationException(String, Exception) |
Initialise une nouvelle instance de la classe CommunicationException à l'aide du message et de l'exception interne spécifiés. |
Propriétés
Data |
Obtient une collection de paires clé/valeur qui fournissent des informations définies par l'utilisateur supplémentaires sur l'exception. (Hérité de Exception) |
HelpLink |
Obtient ou définit un lien vers le fichier d'aide associé à cette exception. (Hérité de Exception) |
HResult |
Obtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique. (Hérité de Exception) |
InnerException |
Obtient l'instance Exception qui a provoqué l'exception actuelle. (Hérité de Exception) |
Message |
Obtient un message qui décrit l'exception active. (Hérité de Exception) |
Source |
Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur. (Hérité de Exception) |
StackTrace |
Obtient une représentation sous forme de chaîne des frames immédiats sur la pile des appels. (Hérité de Exception) |
TargetSite |
Obtient la méthode qui lève l'exception actuelle. (Hérité de Exception) |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetBaseException() |
En cas de substitution dans une classe dérivée, retourne la Exception qui est à l'origine d'une ou de plusieurs exceptions ultérieures. (Hérité de Exception) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
En cas de substitution dans une classe dérivée, définit SerializationInfo avec des informations sur l'exception. (Hérité de Exception) |
GetType() |
Obtient le type au moment de l'exécution de l'instance actuelle. (Hérité de Exception) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Crée et retourne une chaîne représentant l'exception actuelle. (Hérité de Exception) |
Événements
SerializeObjectState |
Obsolète.
Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception. (Hérité de Exception) |