There are some options to do this.
1) One could be to use sockets and TCP -
An Introduction to Socket Programming in .NET using C#[
^].
2) The other could be to use WCF inter process communication via
named pipes[
^].
3) Web services may be a bit of an overkill, but is an option none the less.
4) Message queueing is another mechanism that you could consider
5) .Net 2.0 and you could use Remoting.