c# - 在应用程序之间共享数据和通知的最佳实践

标签 c# notifications share

<分区>

在同一台机器上的不同应用程序之间共享数据并在数据更改时通知它们的最佳做法是什么?

我有 4 个应用程序使用相同的设置项目来更改它们的设置。当我更改项目中的设置时,其他应用程序必须对此更改采取行动,并且必须知道设置已更改。

我考虑过 IPC 进行设置更改,然后将更改信息广播给所有用户,但如果这样的库已经存在,那就太好了。

编辑:

我找到了适合我的解决方案。我们决定不在此功能上花费大量时间,因为更新其他应用程序并不极端。

我们像以前一样将设置保存在一个 XML 文件中,并且我注册了 FileSystemWatcher在该文件上获取所有更改。因此,如果我更改设置,所有 4 个应用程序都会去读取设置文件并确定它们是否必须采取行动。

最佳答案

要选择的解决方案取决于不同的参数:

  1. 您可以在实现方面投入多少努力。
  2. 快速更新应用程序有多重要。
  3. 您/您的客户可以使用哪种环境。
  4. ...

例如:

  • 保存对数据库/配置文件的更改,并让应用程序运行一个单独的线程,该线程专用于每 n 秒检查一次设置更改。这种解决方案实现起来既便宜又容易,但并不“好”,许多开发人员会拒绝这种解决方案。
  • 创建一个 WCF 服务,该服务将更改“发布”到应用程序。在这种情况下,使用双重绑定(bind),应用程序将立即更新。当然,这种解决方案成本更高....

这些只是许多可用解决方案(共享内存、共享应用程序域等)中的两个示例。

关于c# - 在应用程序之间共享数据和通知的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16436787/

相关文章:

c# - matweb.com : How to get source of page?

android - 如何为我自己的应用程序创建自定义推送通知?

android - android中聊天应用程序的通知

android单击一次下载两个文件并在单个进度条中分享他们的进度

html - 分享链接在 iphone 上不起作用,但在桌面上有效

c# - 有没有办法分组或暂时禁用 RichTextBox 的撤消历史记录?

c# - 了解使用单一职责原则的实际好处

objective-c - 3 个通知而不是 1 个

ios - iOS 上的图像共享表中缺少标题和内容文本

c# - 在 ASP.NET 5 中为 Web API Controller 模拟 HttpContext