views:

129

answers:

1

I have an application that needs to be called upon by a second application. These applications need to find each other without configuration (preferably without touching the registry) and function in a terminal services environment properly. I have heard that .net remoting using named pipes may be a way to accomplish this but I do not understand how to limit the pipe to be accessible only within the session that created it. Thanks

Update: I am fine with WCF, the question is not specific to remoting, but how to set a named pipe to be local to a session.

A: 

I would recommend using Windows Communication Foundation for this.

You'd have the option of configuring, without using the registry, all of the different communication options, including using named pipes, sockets, etc.

Reed Copsey
Regardless of the technology used, how do you configure a named pipe for intrasession communication?
Mitch
@Mitch: I don't know of a way to restrict the pipe to only being used within the same session. However, it's not likely to be inadvertently used outside of the session. Is this a security concern?
John Saunders
The reason it needs to be restricted is not to add security, but to allow for multiple users to use the application independantly on a terminal server.
Mitch
Named pipes can be connected to, by default, by any application on the machine. If they are being used by multiple users, they'll be used by multiple processes - and this is a good option. I'd still use WCF, but you can check out NamedPipeServerStream for an example of manual usage: http://msdn.microsoft.com/en-us/library/system.io.pipes.namedpipeserverstream.aspx
Reed Copsey