【发布时间】:2011-07-16 20:36:11
【问题描述】:
VS2008 中的解决方案见下图,它在 Cient 和 Host 之间实现 WCF。客户端是一个简单的 Windows 窗体应用程序,主机是一个控制台应用程序。我打算使用 Windows 服务作为主机,但现在我使用控制台应用程序来简化和调试。
两者之间的通信是使用netNamedPipeBinding的DCCService(WCF部分);客户端和主机都将驻留在同一台机器上。另外,我知道将 WCF 服务与主机分开是一种很好的做法,这样主机就可以轻松更改,这对我来说很好。
这是我的难题:应该在哪里完成客户要求的工作?
我希望我的服务做的工作是在后台以设定的时间间隔不断地轮询硬件控制器。而 DCCService 向任何想要了解此数据的客户端公开方法。
硬件控制器代码(setup()、connect()、work() 等)应该在 DCCService Project 还是 Host Project 中完成?如果在 Host Project 中完成,DCCService 类如何从 Host 项目中的 Controller 类中抓取数据?同样,如果 Controller 类在 DCCService 项目中,这将如何完成?哪个更好?
我想我在这里遗漏了一些相当基本的东西。感谢您的帮助或建议。如果我需要更清楚,请告诉我。
瑞恩·R.
【问题讨论】:
标签: visual-studio-2008 wcf wcf-client