How to cross a session boundary using a WCF named pipe binding?

1.3k Views Asked by At

Windows 7 has a Session 0, where the services run, and the other sessions that interact with the users.

WCF clients running in Session 0 can't see pipes exposed in session 1 unless::

  • Set the SeCreateGlobalPrivilege - not an option for me
  • Show the UI running as a session 0 user but visible to the session 1 user - it's possible when the service starts the UI using CreateProcessAsUser
  • Use another binding, such as netTcpBinding

Any other solution?

This question is also featured on a Microsoft forum post

2

There are 2 best solutions below

2
On BEST ANSWER

I was thinking in another solution: Inverting the roles and using a CallbackContract.

3
On

Hardening... it got me too. I could not find a fix and had to change to TcpBinding.