Existe-t-il un moyen simple de tester si votre pipe nommée fonctionne correctement? Je veux m'assurer que les données que j'envoie depuis mon application sont réellement envoyées. Existe-t-il un moyen rapide et facile d'obtenir une liste de tous les canaux nommés?
Vous pouvez les visualiser avec Process Explorer de sysinternals. Utilisez l'option "Rechercher -> Rechercher la poignée ou DLL ..." et entrez le modèle "\ Device\NamedPipe \". Il vous montrera quels processus ont quels tuyaux s'ouvrent.
Dans la console Windows Powershell, saisissez
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
get-childitem \\.\pipe\
Essayez plutôt ce qui suit:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
Utilisez pipelist.exe de Sysinternals.
C #:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
Je suis tombé sur une fonctionnalité dans Chrome qui répertoriera tous les canaux nommés ouverts en naviguant vers "file: //.//pipe//"
Comme je n'arrive pas à trouver de référence à cela et que cela m'a été très utile, j'ai pensé que je pourrais partager.
La deuxième pipe a été interprétée par ce site Web lors de sa soumission ... Vous avez besoin de deux barres obliques inverses au début. Assurez-vous donc d'utiliser System.IO.Directory.GetFiles (@ "\\.\Pipe \").
Notez que j'ai vu cet appel de fonction lancer un "caractères illégaux dans le chemin". exception lorsque l'un des tuyaux sur ma machine avait des caractères non valides. PipleList.exe a bien fonctionné, il semble donc que ce soit un bogue dans le code .net de MS.