Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WCF named pipes: Across network? Really?

Many people seem to think this it is possible, yet clearly in this document the boundary is stated as inter-process which to my mind means "no network".

Another document is completely unambiguous:

The named pipe transport has very little reach; it can only connect to services running on the same machine

So why are so many posters here saying it can work?

like image 419
spender Avatar asked Aug 16 '09 16:08

spender


People also ask

What Is Named Pipes in WCF?

A named pipe is an object in the Windows operating system kernel, such as a section of shared memory that processes can use for communication. A named pipe has a name, and can be used for one-way or duplex communication between processes on a single machine.

Can the pipes be used over a network?

Named pipes can be used to provide communication between processes on the same computer or between processes on different computers across a network. If the server service is running, all named pipes are accessible remotely.

Are Named Pipes bidirectional?

Named pipes are strictly unidirectional, even on systems where anonymous pipes are bidirectional (full-duplex).

Are Named Pipes secure?

If you specify NULL, the named pipe gets a default security descriptor. The ACLs in the default security descriptor for a named pipe grant full control to the LocalSystem account, administrators, and the creator owner. They also grant read access to members of the Everyone group and the anonymous account.


1 Answers

I think you need to make a distinction between Named Pipe and WCF binding implementation NETNamedPipeBinding.

The NetNamedPipeBinding is a predefined binding for WCF for on-machine communication.

Provides a secure and reliable binding that is optimized for on-machine communication.

But if you check the MSDN documentation about Named Pipes, you can see that it is possible to setup a named pipe across network.

Named pipes can be used to provide communication between processes on the same computer or between processes on different computers across a network

like image 123
Francis B. Avatar answered Nov 15 '22 09:11

Francis B.