If my application starts, I check first if there is already an instance of the app and if yes, I give focus to the running instance and terminate the newly created process. I make this with a named pipe that is registered through WCF. That works fine so far.
Now my app will also be used in a terminal server environment. Is it right that named pipes are system wide, so that I must change the startup logic to not give focus to instances of other users (what certainly not will work but break my application) or does Terminal Server (2003R2) isolate WCF-Bindings for each TS-session?
I cannot access the productive environment yet, that’s why I post this question. Maybe someone can give me an answer to this question?
Update
Through another post I did concerning the app startup, I learned that there is a more convenient way to manage the single application startup using a Mutex, which can be used system wide or on a terminal session basis.
The question however is open anyhow and perhaps someone that has good WCF –knowledge can answer it. It would be interesting.