J'ai regardé partout sur le Web, mais je ne trouve pas de réponse à la question suivante. J'ai une instance NamedPipeClientStream C#/.NET dans un programme client, et un thread de travail appelle NamedPipeClientStream.Read (byte [], int, int) pour obtenir des données d'un serveur. Le serveur envoie des mises à jour de données au client.Annuler l'appel NamedPipeClientStream.Read
Read est un appel bloquant. Si je veux fermer le client, existe-t-il un moyen d'annuler/de quitter l'appel Read? J'ai essayé d'appeler Close sur l'instance de pipe nommée, mais cela n'a aucun effet sur le thread appelé Read.
Je pense qu'il y aurait un moyen d'annuler un appel en lecture. Sinon, il semble que c'est une API très mal conçue, parce que votre programme est à la merci du tuyau.
Toute information est grandement appréciée.
-Chris
: D Vous êtes mon héros! Définir le canal sur asynchrone provoque un appel bloqué à Lire pour retourner lorsque Close est appelé. Merci beaucoup! – Chris