我有这个与TCP / IP通信的Windows服务
我想知道的是Windows窗体应用程序能够修改此服务的设置的方法,例如远程主机地址和连接端口,超时长度和日志设置。
我已经研究了NamedPipe,WCF服务和IPC,但我无法确定最适合我的方案的内容。
能够通过从客户端做这样的事情来改变服务设置会很好
[服务] .SetTimeout(3000);
有什么建议吗?
答案 0 :(得分:2)
如果你想要那种程序控制,那么WCF是你最好的选择。使用WCF,您可以自己定义API,例如,调用哪些方法,传递什么消息等.WCF框架负责为您交换数据。使用WCF配置文件,更改后端数据交换机制是微不足道的。例如,您可以简单地通过修改配置文件来替换用于与NetNamedPipeBinding进行同机通信的NetTcpBinding以进行跨机器通信。但是,如果您之前没有完成过WCF,我的经验就是完全披露,我的入门门槛非常高。当然,我在Visual Studio 2008中使用了它。在更新的版本中可能会容易得多。在这里an answer我回过头来看了一些帮助我的教程。
就我个人而言,我已经在我工作的项目中使用基于TCP的版本替换了早期的WCF实现。当事情正在运行时,前端应用程序从Windows服务接收持续信息,"在我们做出决定时,WCF流媒体没有得到很好的记录。我们也看到了问题的证据,尽管这可能只是因为我们做错了。无论如何,我对我们提出的解决方案非常满意。
我无法直接与命名管道对话,但从我所读过的内容来看,它们很容易使用。
HTH。