使用 .Net 与服务交互的最佳方式是什么(即大多数托盘应用程序如何与其服务器通信)。如果这个方法也是跨平台的,那就更好了(在 Mono 中工作,所以我猜远程处理已经过时了?)
Edit:
忘了说了,我们仍然需要在现场支持 Windows 2000 机器,所以 WCF 和 .Net 2.0 以上的任何东西都行不通。
请注意,如果您计划最终在 Windows Vista 或 Windows Server 2008 上进行部署,那么目前的许多方法都行不通。这是因为引入了名为“会话 0 隔离”的新安全功能。
现在,大多数 Windows 服务已移至会话 0 中运行,以便将它们与系统的其余部分正确隔离。其扩展是,第一个登录系统的用户不再被放置在会话 #0 中,而是被放置在会话 1 中。因此,隔离将破坏在服务和桌面应用程序之间进行某些类型通信的代码。
如今,在服务和应用程序之间进行通信时,编写适用于 Vista 和 Server 2008 的代码的最佳方法是使用适当的跨进程 API,如 RPC、命名管道等。不要使用 SendMessage/PostMessage,因为这会在会话 0 隔离下失败。
http://www.microsoft.com/whdc/system/vista/services.mspx http://www.microsoft.com/whdc/system/vista/services.mspx
现在,考虑到您的要求,您将陷入困境。对于跨平台问题,我不确定是否支持远程处理。您可能必须下拉并一直返回到套接字:http://msdn.microsoft.com/en-us/library/system.net.sockets.aspx http://msdn.microsoft.com/en-us/library/system.net.sockets.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)