Salut,
Mon service WCF gère un pool de connection avec un serveur. Lorsqu'un client se connecte, il obtient l'une de ses connections et peut travailler avec (InstanceContextMode.PerSession donc il conserve aussi sa session). Lorsqu'il se déconnecte via client.close(), pour le moment, c'est le Garbage Collector du service qui s'occupe de libérer la connection du client. Ce que j'aimerais bien faire, c'est arriver à capter que le client a fermé la connection et que je peux libérer la connection parce que le Garbage Collector met un certain temps à la libérer et il ne le fait pas toujours au même moment. Si j'avais la possibilité d'ajouter une méthode au contrat, ca serait simple, mais comme beaucoup de clients travaille déjà avec la version précédente (InstanceContextMode.Single, ConcurrencyMode.Multiple), on ne peut rien changer au contrat.
Mes questions:
- est-il possible pour un service de lire quelquepart le statut d'une connection avec un client?
- Est-ce que le service recoit quoi que ce soit quand client.close() est exécutée qui me permette de savoir quand libérer mes connections?
Merci beaucoup d'avance
Micky
Partager