如何在C#上组织与应用程序交互的Windows服务

本文关键字:交互 应用程序 Windows 服务 | 更新日期: 2023-09-27 18:37:24

我需要组织Windows服务,该服务应该以另一种方式与应用程序交互:

应用程序生成消息,然后以某种方式将此消息发送到正在运行的服务(实际上存在问题。如何?插座?其他?),然后服务对此消息执行一些工作。

应用程序可以使用一些中间层 - 一个接受消息作为参数的可执行应用程序,然后将其发送到服务。

那么我的服务如何与应用程序交互呢?

如何在C#上组织与应用程序交互的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 注册表......