J'ai créé un service WCF dans lequel je voudrais maintenir l'état entre les appels du client. Je me suis dit la meilleure façon de le faire est d'ajouter cet attribut au service:Comment gérer l'état par client dans un service WCF?
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
car cela est censé garder un service distinct en vie pour chaque client sur la durée du proxy client (ou délai d'attente dans l'extrême Cas). J'ai également ajouté une fonction de test qui suit une liste d'entrées utilisateur, et crache une chaîne concaténée avec toutes les entrées sur la durée de vie du service. Lorsque je l'exécute dans le client de test généré par Visual Studio, je trouve que la liste que j'utilisais pour conserver les données est réinitialisée à chaque appel. Y at-il autre chose que je dois faire pour maintenir l'état par session?
Cela peut fonctionner, mais on pense généralement qu'il s'agit d'un "hack" - dans la mesure du possible, essayez de rester sans état et/ou de stocker l'état sur le backend du serveur. Ne comptez pas sur les sessions - juste trop de choses qui peuvent mal se passer et vont faire des ravages sur votre système ... –