J'ai un service Windows qui exécute un thread d'arrière-plan séparé. A l'intérieur du thread, il démarre un serveur TCP qui écoute les clients utilisant TcpListener.Comment mettre fin au service Windows en bloquant l'appel à l'aide de TcpListener
Je voudrais savoir comment je peux fermer le service gracieusement quand il y a un blocage lu comme ceci:
listener.AcceptTcpClient();
J'ai trouvé que, apparemment, un service Windows peut annuler tous les autres fils aussi longtemps car ils sont configurés en tant que threads d'arrière-plan, mais que se passe-t-il si l'un des threads bloque? Cela fait-il une différence et si oui, quelle est la meilleure façon de gérer cette situation?
Que faire si je n'ai pas appelé listener.Close()? Est-ce mauvais? – jaffa
@jaffa comportement attendu sage - toujours très bien. Les deux dernières lignes de ma réponse expliquent cela. – Anri