Для начала я бы поиграл с tcpclient и tcpserver
http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx
http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx
Даже если данные, которые вам нужно отправить, более сложны, чем дата, их легко сериализовать / десериализовать.
Для отправки и получения дат это выглядит самым простым вариантом.
Также носки работают, если сервисы работают на разных машинах, а разделяемая память и namedpipes - нет.
пример кода
// Create a thread running this code in your onstarted method of the service
using System.IO;
using System.Net;
using System.Net.Sockets;
var server = new TcpListener(IPAddress.Parse("127.0.0.1"), 8889);
server.Start();
while(true) {
var client = server.AcceptTcpClient();
using(var sr = new StreamReader(client.GetStream())) {
var date = DateTime.Parse(sr.ReadToEnd());
Console.WriteLine(date);
}
}
// In the console
using System.IO;
using System.Net;
using System.Net.Sockets;
var client = new TcpClient("localhost",8889);
using(var sw = new StreamWriter(client.GetStream())) {
sw.Write(System.DateTime.Now);
}