【问题标题】:Entity Framework WPF multiuser architecture实体框架 WPF 多用户架构
【发布时间】:2016-03-09 13:40:32
【问题描述】:

我希望这是一个简单回答的愚蠢问题...

我已经使用 MSSQL/EF/MVVM/WPF 开发了我的第一个商业应用程序,现在我正试图让它在多用户环境中工作。 我看到很多答案建议轮询以查看数据库是否已更改,然后解决并发问题,或者建议每个客户端都应该安装本地数据库并同步它们。在我看来,这两项工作都需要大量工作。

可以在服务器上拥有一个共享存储库吗?存储库在启动时可以从整个数据库加载(大约 50000 条记录)。然后客户端可以只查询同一个存储库。如果一个用户更改了某些数据,则存储库会向所有其他客户端触发 propertychanged 通知。我是不是在想这个错误,或者接受的方法是什么?

谢谢

【问题讨论】:

  • 这个问题可能会被标记为过于宽泛 - 但是,是的,到目前为止听起来很合理。
  • 网络服务器,由数据库支持。 Webapi 前端。 HttpClients 用于连接,服务器上的信号器用于通知客户端 CRUD,客户端中的 HubConnections 用于侦听这些更新。这将是一项艰巨的工作,但相对简单且有益。
  • 谢谢威尔。下次我做一个 Web 应用程序时,我会研究 SignalR。然而,这是 WPF。
  • @TheMeanFiddler 那又怎样?不允许 WPF 应用程序使用基于 Web 的数据中心?想要它快速、肮脏且不支持高效(但快速实施),请使用 SignalR。需要像交易一样的高性能 - 自己编写。

标签: wpf entity-framework mvvm multi-user


【解决方案1】:

无论你做什么都会有很多工作。

让应用服务器保持状态并分发它是标准设计 - 例如用于交易应用程序。您将数据库用于报告等 - 但您将当前状态保存在内存中并从那里分发。

【讨论】:

  • 谢谢汤姆汤姆。这很让人放心。我仍然感到困惑,我不知道在哪里寻找例子。多用户 WPF 应用程序肯定是标准架构吗?
  • 按照我的理解,我的 DAL 和存储库位于服务器上,客户端的视图模型(通过 LAN)通过 WCF 与其通信。它是否正确?只有5个用户。我不需要高效的解决方案——只需要易于实施的解决方案。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-17
  • 2014-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
  • 2011-02-20
相关资源
最近更新 更多