Intra-session communication with .NET Remoting

I have an application that needs to be called by a second application. These applications should find each other without configuration (preferably without touching the registry) and work properly in the Terminal Services environment. I heard that using .net remotely using named pipes might be a way to accomplish this, but I don't understand how to restrict access to a pipe only during the session that created it. Thanks

Update. I am well versed in WCF, the question is not specific to remote access, but how to set up a named pipe for a local session.

+3
source share
3 answers

Windows Vista Windows 7, WCF NetNamedPipeBinding, , . , , SeCreateGlobalPrivilege. , , , , Run As Administrator.

, , WCF (GUID) . . SeCreateGlobalPrivilege, Global kernel, ; , , . , : ( API, WCF), GUID - .

, , DACL , WCF . , . P/Invoke, , SID , ACE DACL. .NET 4 WCF SID , , Reflector, , - .: System.ServiceModel.Channels.SecurityDescriptorHelper.GetProcessLogonSid().

+2

. , ( ), .

+1

I would recommend using the Windows Communication Foundation for this.

You will have the opportunity to configure without using the registry all the various communication parameters, including the use of named pipes, sockets, etc.

0
source

Source: https://habr.com/ru/post/1733943/


All Articles