【发布时间】:2011-03-02 20:31:28
【问题描述】:
我正在使用 C#/WCF 构建应用程序。将有一个主窗体项目本质上是连接所有其他项目 (DLL) 的东西,并且 DLL 不知道或不允许相互引用。然而,在一个 DLL 中,比如患者 dll,有一个带有按钮的表单,当单击该按钮时,它需要在不同的 dll 中打开一个表单,比如 rx dll,但两个 DLL 不能相互引用它们只是通过主窗体连接。
所以我想知道是否有可能完成这样的任务,如果可以,该怎么做。如果可能,我宁愿不使用消息队列或发送消息。
感谢您的任何建议或帮助。
【问题讨论】:
-
所以您是说您的 dll 不能相互引用,但可以相互引用服务,并且仍然存在于客户端计算机上运行的同一个应用程序中?为什么?享受这样的建筑的乐趣......
-
@Ladislav 这实际上在 C# 的以组件为中心的模式中很常见。 observer pattern 在管理某些组件以不同配置使用的大型项目时特别有用,并有助于将 UI 与程序逻辑分开。
-
@Tamschi:是的观察者模式——但你不会将它实现为远程调用。
-
等一下,这很奇怪...@Nicole:您是否使用 WCF (Windows Communication Foundation) for WinForms-“Forms”显示在不同 PC 或WPF (Windows Presentation Foundation) 与 XAML-“Windows”在同一台计算机上?
-
@Tamschi 我的主要窗体和 DLL 是 Windows 窗体应用程序/客户端应用程序,然后我有一个主机应用程序和一个 wcf 服务项目,至少现在是这样。我对 WCF 完全陌生,WCF 服务现在实际上什么都不做,我可能不会使用它,但这只是我们正在考虑的一个想法,我添加了它以防万一有办法通过 wcf 服务做到这一点。