Я бы использовал службу WCF для связи.
Вы можете использовать привязку netNamedPipe, но это может не работать в Windows 2008 / Windows 7, так как служба работает в сеансе 0, а весь код пользователя выполняется в сеансах> 0и они не смогут общаться.
Поэтому я использовал netTcpBinding в своем собственном проекте.