与Windows服务交谈

时间:2011-09-01 08:18:02

标签: c# .net windows-services

我不确定我的头衔应该是什么,所以我使用了“Talk”这个词。

我创建了一个运行完美的窗口服务。安装和一切。

BUT。我需要一个系统托盘运行,以及一个可以调用Windows服务内部功能的程序。

例如,当用户点击“Get Clicked”时,它会转换windows service内的内容。

我不知道我该怎么做..我已经开始思考一些真正有用的方法了。

喜欢更改文本,然后Windows服务读取命令。我认为这是非常白痴的方式。您知道的任何其他方式我可以与window sservice交谈吗?

似乎每个人都在回答“WCF”。但是,如果仅在端口25555上打开TCP端口或其他东西,它不会很简单。并且只读写?喜欢的话。 “现在,以后”。并用它做功能?我认为它会起作用。不是吗?

2 个答案:

答案 0 :(得分:5)

在过去,.NET远程处理经常用于此,现在你可以使用WCF,它可以更好地执行。

只需在Windows服务中托管一个小型WCF服务,并使UI应用程序(如托盘图标管理器)调用那些公开的WCF端点与服务进行通信。

您不需要IIS或其他任何东西,如果您使用netTcp绑定或namedPipes,它将顺利运行。

答案 1 :(得分:1)

如果您不喜欢使用WCF或任何服务。您可以使用DB方式(或文件系统).Write命令并序列化对象(如果需要)并存储在任何文件或数据库中。修改您的服务以查看位置并读取和执行命令。如果需要,反序列化对象。您可以使用共享对象(内存)来实现此目的。使用WCF会更灵活,更具扩展性。