c# .net networking pipe

.NET 3.5(C#) Canalizaciones con nombre a través de la red



networking pipe (1)

¿Estás haciendo esto en el trabajo? ¿Se está ejecutando un firewall corporativo o un programa antivirus? Verifique los registros de eventos de Windows y cualquier aplicación en el área de iconos de notificación de tareas en su barra de inicio para obtener pistas sobre quién está bloqueando esto.

Estoy luchando para obtener un tubo con nombre .NET ( NO un WCF) para comunicarse a través de la red. La documentación de MSDN implica que esto es posible, no trivial. Pero mi código:

using (NamedPipeClientStream pipeClient = new NamedPipeClientStream(servername, "myPipe", PipeDirection.InOut, PipeOptions.None, TokenImpersonationLevel.Impersonation))

... funciona muy bien cuando servername = "localhost" y el servidor de pipa está en el mismo cuadro. Pero si se trata de otra máquina, independientemente de si hago de servername una dirección IP, un nombre DNS, un nombre NetBIOS, una ruta UNC, etc., significa que la tubería nunca se conecta. En realidad, no falla, pipeClient.Connect () simplemente se sienta allí.

Hay tantas publicaciones diferentes y contradictorias en varios foros, blogs y sitios sobre esto. ¿Puede alguien aclarar las cosas y decirme: cómo puedo obtener un cliente de Named Pipe para conectarme desde una aplicación C # en una máquina a un servidor de tuberías nombrado que se ejecuta en otra máquina?