Processes do not exchange memory and require interaction between them for communication. To do this, you can use one of a variety of mechanisms:
- File or data — one process writes to a file or database, the other reads from and executes some method based on the data or contents of the file.
- Service host / client - use WCF, .NET Remoting, Named Pipes or direct TCP / IP communication mechanism, where one process contains a service implementation of the interface and the calling process (client) uses the proxy interface of the service interface to serialize and transfer the call to the host process is the best approach if you want interaction with request / response to state
- Message Queuing - use the message as MSMQ, where one process sends a message to the queue and another selects it and executes the method
I am sure there are others, but these are the three most common methods.
My favorite lightweight host / client scenario. There are several lightweight utilities to make this easy for you. You can use RemotingLite or my own RemotingLite extension that supports named pipes called DuoVia.Net .
source share