解决方案由3个项目组成。
他们使用实现Observer模式的WCF服务连接和交换数据,以允许双向数据交换。
我有3节课:
然后,通过WCF服务将来自这3个计算的数据发布到客户端。
这是TRICKY部分......... ..
我希望这三个类中的每一个的每组数据都显示在不同表单上的GridControl上。
所以它将如下:
首次运行时,客户端应用程序将仅显示MainForm,但它将包含一个菜单栏以打开Yform和Zform。
感谢帮助。
答案 0 :(得分:1)
列表中的选项2可以工作,发布到客户端上的中心类,并让其他表单查询此类以获取信息。我建议发布/订阅模式而不是观察者(我假设您将使用双工绑定实现这一点),因为它是一种耦合较少的实现,可以更好地扩展。
这样,服务只会向订阅客户发布信息。
您可以通过在客户端表单上托管WCF响应服务来实现此功能,这样当您的某个计算服务发布结果时,WinForm上托管的服务可以订阅并接收此事件。
如果您需要保持表单打开并实时更新它们,您可以让每个表单都需要数据来托管表单上的服务,并且只需订阅不同的事件。 然后,您可以将(同步上下文)同步到UI线程并实时更新网格,即股票价格更新。
我推荐Juval Lowy的书Programming WCF Services来帮助解释这些概念,并提供发布/订阅的参考实现,在表单和同步上下文中托管服务。