J'ai un service WCF s'exécutant sur IIS.Service WCF et singletons
Chaque fois qu'un utilisateur se connecte (avec nom d'utilisateur et mot de passe), je crée une SessionClass qui fait quelque chose toutes les quelques minutes dans un thread et gère les demandes des utilisateurs.
Je sauvegarde chaque nouvelle SessionClass créée dans un dictionnaire dans une classe de service singleton.
Si un utilisateur ne demande rien pendant une longue période (disons 10 heures), la session devrait mourir. Je tue le thread et supprime la SessionClass du dictionnaire dans le singleton ServiceClass. Mon problème est que chaque fois que je supprime une SessionClass du dictionnaire, elle rend l'instance de la classe ServiceClass nulle et la prochaine fois qu'elle est appelée, elle est à nouveau créée, donc je perds toutes les sessions dans lesquelles je tenais le dictionnaire ...
J'ai essayé maintenant référence directe à l'intérieur du service WCF au ServiceClass.GetInstance() (je pensais que le garbage collector est en train de tuer le ServiceClass), mais il ne va pas aider ...
Pourquoi cela arrive-t-il? Des idées? Déclarer votre dictionnaire comme un champ statique.
En savoir plus à ce sujet [ici] (http://msdn.microsoft.com/fr-fr/library/ms731193.aspx). – CodeCaster