如何在C#上组织与应用程序交互的Windows服务
本文关键字:交互 应用程序 Windows 服务 | 更新日期: 2023-09-27 18:37:24
我需要组织Windows服务,该服务应该以另一种方式与应用程序交互:
应用程序生成消息,然后以某种方式将此消息发送到正在运行的服务(实际上存在问题。如何?插座?其他?),然后服务对此消息执行一些工作。
应用程序可以使用一些中间层 - 一个接受消息作为参数的可执行应用程序,然后将其发送到服务。
那么我的服务如何与应用程序交互呢?
一些建议:
-
在 Windows 服务中承载 WCF 服务。可以在此处找到详细示例。绑定(Http,Tcp,命名管道等)取决于调用应用程序,所有这些都将无缝工作。WCF是Micorosoft的统一编程模型,因此这是推荐的方法。
-
如果仅限于 .NET 2.0 或更早版本,则 Windows 服务可以实现轮询机制来扫描来自应用程序的"消息"。 例如,您的应用程序可以将新记录插入到 Windows 服务正在监视的数据库中。
希望这有帮助。
简短回答:通过 TCP 绑定使用 WCF。下面是一个示例。http://www.codeproject.com/Articles/14493/WCF-Basic-Client-Server
只是为了在已经提到的选项中添加另一个选项: 我在类似情况下使用 MSMQ。
您需要进一步解释您的方案。
消息是仅通过一种方式还是两种方式传递?互动的频率如何?两个应用程序位于同一环境中?他们必须通过网络进行交互吗?
这个问题有一系列的解决方案:使用简单的文件、套接字、数据库、Windows 注册表......