首页 > 解决方案 > 在单个解决方案中跨多个项目工作的最佳实践

问题描述

所以,我有一个包含 3 个项目的解决方案,我们称它们为项目ABC(所有 3 个项目共享相同的命名空间)。

项目A是 WPF 应用程序,项目B是核心/全局变量/函数,项目C是 Windows 服务。

在我的脑海中,我想要发生的是项目C将连接到 Internet 并下载内容,并处理后台监视 Internet 状态,这些状态将保存到存储在项目B中的变量中,然后由 WPF 应用程序访问和/或绑定项目A。 _

我遇到的问题是,当 Windows 服务填充变量时,在启动时,它对 WPF 应用程序不可见。现在我已经实现了单例模式,并且还使用 SetProperty 来处理属性更新通知,没有骰子(如果我调试服务启动,变量被正确填充)。我确信它涉及 Invoke 但是不能在课堂上做 BeingInvoke 等?

我添加了如下项目引用:

原则上是我想做的工作还是我错过了什么?

更新:要添加,项目C的窗口服务,旨在监控互联网可用性并将属性设置为 false,如果无法访问特定网站,则将图像设置为关闭。项目A绑定到这些属性,以根据服务监控的状态显示按钮周围的红色方块和向下或向上的图像。

标签: c#wpfservice

解决方案


推荐阅读