使用.Net,与服务交互的最佳方式是什么(即大多数托盘应用程序如何与其服务器通信).如果这种方法也是跨平台的(在Mono中工作,那么我认为远程处理已经出来了?)
忘了提一下,我们仍然需要在现场支持Windows 2000机器,所以WCF和.Net 2.0以上的任何东西都不会飞.
请注意,如果您计划最终部署在Windows Vista或Windows Server 2008上,那么今天可以采用的许多方法都不起作用.这是因为引入了一种名为"Session 0 Isolation"的新安全功能.
现在,大多数Windows服务已被移动到会话0中运行,以便将它们与系统的其余部分正确隔离.对此的扩展是第一个登录系统的用户不再被放置在会话#0中,它们被放置在会话1中.因此,隔离将破坏在服务和桌面应用程序之间进行某些类型通信的代码.
在服务和应用程序之间进行通信时,今天编写适用于Vista和Server 2008的代码的最佳方法是使用适当的跨进程API,如RPC,命名管道等.不要使用SendMessage/PostMessage,因为这样做在会话0隔离下失败.
http://www.microsoft.com/whdc/system/vista/services.mspx
现在,根据您的要求,您将会有点腌渍.对于跨平台问题,我不确定是否支持Remoting.你可能需要下载并一直回到套接字:http://msdn.microsoft.com/en-us/library/system.net.sockets.aspx