有没有办法在两个不同的服务之间进行通信?我有一项已经运行的服务。有没有办法创建第二个服务,可以附加到第一个服务并向其发送和接收日期?
我还想从控制台应用程序访问 Windows 服务并附加到它。是否可以?
您可以尝试使用以下方法来实现:
- IPC(进程间通信,通过命名管道 http://msdn.microsoft.com/en-us/library/bb546085.aspx)
- 共享内存(内存映射文件 http://msdn.microsoft.com/en-us/library/dd997372.aspx)
- 套接字(TCP/IP)
使用WCF的示例:使用 WCF 和 NetNamedPipeBindin 的多对一本地 IPC http://www.codeproject.com/KB/WCF/wcfipcsample.aspx.
其他例子:用于进程间同步和通信的 C# 框架 http://www.codeproject.com/KB/threads/csthreadmsg.aspx.
一切都取决于您使用的 .NET Framework 版本。如果您使用 .NET 3.0 及更高版本,那么您可以查看WCF http://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding.aspx。如果没有,那么你就得靠自己了,你可以用谷歌搜索关键字P/Invoke http://en.wikipedia.org/wiki/Platform_Invocation_Services(CreateFileMapping、MapViewOfFile、CreatePipe...)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)