Bonjour,
Je développe un Web Service qui sert à maintenir
une liste de clients et à envoyer des messages à ceux-ci,
en fait une sorte de serveur pour des échanges en Peer 2 Peer.
(Utilisation de méthodes asynchrones côté serveur)
Pour maintenir une liste de clients cohérente,
un thread s'occupe de supprimer de la liste les clients qui ne sont plus connectés.
Comment savoir si un client est connecté?
Grâce à la méthode IsClientConnected de la classe Response:
L'objet Response est récupéré au moment où le client
appelle la méthode WaitMessage() du Web Service (cette méthode renvoie une réponse à un moment indéterminé).
Le thread parcours donc la liste des clients et teste la propriété
IsClientConnected, si celle-ci renvoie false ça veut dire que le client n'est plus connecté.
Sur ma machine, Windows XP - IIS 5.2 ça fonctionne sans aucun problème.
Le problème c'est que je dois l'installer sur IIS 6.0 et que là,
Response.IsClientConnected me renvoie toujours true,
que la connexion soit établie ou non :-S.
La liste des clients est stockée dans un objet Application.
Quelqu'un aurait - il une idée sur la cause du problème?
Ou peut-être une idée pour pouvoir détecter qu'un client
n'est plus en attente de la réponse?
Merci
Partager