|
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
|
Traduction
Source
|
Utilisation de sessions
-
Elles sont explicitement initialisées et terminées par l'application appelante (le client WCF). -
Les messages remis pendant une session sont traités dans l'ordre dans lequel ils sont reçus. -
Les sessions corrèlent un groupe de messages dans une conversation. Différents types de corrélation sont possibles : Par exemple, un canal basé sur session peut corréler des messages sur la base d'une connexion réseau partagée, pendant qu'un autre canal basé sur session corrèle des messages sur la base d'une balise partagée dans le corps du message. Les fonctionnalités qui peuvent être dérivées de la session varient en fonction de la nature de la corrélation. -
Il n'existe pas de magasin de données général associé à une session WCF.
-
Les sessions ASP.NET sont systématiquement initialisées par le serveur. -
Les sessions ASP.NET sont implicitement non ordonnées. -
Les sessions ASP.NET fournissent un mécanisme de stockage général des données sur l'ensemble des demandes.
-
Le comportement d'exécution par défaut lors de l'utilisation de liaisons basées sur session dans la couche de modèle de service. -
Types de fonctionnalités que les liaisons WCF définies par le système et basées sur les sessions fournissent. -
Comment créer un contrat qui déclare une spécification de session. -
Comment comprendre et contrôler la création de la session , la fin de la session et la relation entre la session et l'instance de service.
-
Tous les appels entre un objet client WCF sont gérés par la même instance de service. -
Différentes liaisons basées sur les sessions fournissent des fonctionnalités supplémentaires.
-
System.ServiceModel.Channels.SecurityBindingElement prend en charge des sessions basées sur sécurité, dans lesquelles les deux terminaisons de communication ont convenu d'une conversation sécurisée spécifique. Pour plus d'informations, consultezSécurisation de services. Par exemple, la liaison System.ServiceModel.WSHttpBinding qui contient la prise en charge des sessions de sécurité et des sessions fiables, utilise par défaut uniquement une session sécurisée qui chiffre et signe numériquement les messages. -
La liaison System.ServiceModel.NetTcpBinding prend en charge les sessions basées sur TCP/IP pour garantir que tous les messages sont corrélés par la connexion au niveau du socket. -
L'élément System.ServiceModel.Channels.ReliableSessionBindingElement qui implémente la spécification WS-ReliableMessaging, fournit la prise en charge des sessions fiables dans lesquelles les messages peuvent être configurés afin d'être remis dans l'ordre et exactement une fois, ce qui garantit que les messages sont reçus même lorsqu'ils passent par plusieurs nœuds pendant la conversation. Pour plus d'informations, consultezSessions fiables. -
La liaison System.ServiceModel.NetMsmqBinding fournit des sessions de datagramme MSMQ. Pour plus d'informations, consultezFiles d'attente dans Windows Communication Foundation.
-
Requiert une session. -
Permet à un client d'établir une session. -
Interdit une session.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", SessionMode=SessionMode.Required)] public interface ICalculatorSession { [OperationContract(IsOneWay=true)] void Clear(); [OperationContract(IsOneWay = true)] void AddTo(double n); [OperationContract(IsOneWay = true)] void SubtractFrom(double n); [OperationContract(IsOneWay = true)] void MultiplyBy(double n); [OperationContract(IsOneWay = true)] void DivideBy(double n); [OperationContract] double Equals(); }
-
Un constructeur est appelé. -
Tous les appels effectués ultérieurement à la référence d'objet client WCF sont traités par la même instance d'objet. -
Un destructeur est appelé lorsque la référence d'objet est détruite.
Remarque
|
|---|
|
|
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", SessionMode=SessionMode.Required)] public interface ICalculatorSession { [OperationContract(IsOneWay=true, IsInitiating=true, IsTerminating=false)] void Clear(); [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)] void AddTo(double n); [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)] void SubtractFrom(double n); [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)] void MultiplyBy(double n); [OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)] void DivideBy(double n); [OperationContract(IsInitiating = false, IsTerminating = true)] double Equals(); }
-
ICommunicationObject.Open sur le canal retourné par un appel à ChannelFactory<TChannel>.CreateChannel. -
ClientBase<TChannel>.Open sur l'objet client WCF généré par Outil Service Model Metadata Tool (Svcutil.exe). -
Une opération d'initialisation sur un type d'objet client WCF (par défaut, toutes les opérations s'initialisent). Lorsque la première opération est appelée, l'objet client WCF ouvre automatiquement le canal et initialise une session.
-
ICommunicationObject.Close sur le canal retourné par un appel à ChannelFactory<TChannel>.CreateChannel. -
ClientBase<TChannel>.Close sur l'objet client WCF généré par Svcutil.exe. -
Une opération terminant sur un type d'objet client WCF (par défaut, aucune opération ne termine ; le contrat doit spécifier explicitement une opération de fin). Lorsque la première opération est appelée, l'objet client WCF ouvre automatiquement le canal et initialise une session.
Partage d'objets InstanceContext
Remarque
|
|---|
|
|
Remarque