具有集中式数据库的多用户桌面应用程序架构的最佳技术?

时间:2012-01-19 05:27:18

标签: .net wpf sql-server architecture

我有一个奇怪的场景,我们已经开发了一个工作流管理工具作为带有SQL Server 2008的ASP.Net Web应用程序。很遗憾,我们无法为我们的客户端托管它,并要求他们自己托管它不是一种选择。

我们需要让他们访问我们通过非网络技术平台开发的功能。它们内部具有非常严格的防火墙安全性,因此桌面应用程序相互通信是不可靠的。

我们现在可靠地获得的是:

  • 能够在用户的计算机上运行桌面应用程序。
  • 访问网络文件共享。

我目前的想法是将Sql Server组件迁移到使用Sql Server CE,将数据库文件托管在网络文件共享上,让每个用户运行指向它的桌面应用程序。

推出软件更新时出现问题。 您如何确保所有用户更新其应用程序? 你如何确保他们同时做到这一点? 您如何确保他们只使用正确的版本访问数据库?

所有这些问题都成为主要问题,没有服务器端集中或远程访问生产环境。

我当时想到WPF可能会有一些技巧,其中一个应用程序可以同时为多个用户从网络文件共享中运行。

我的问题是:

我是否缺少一些可以让我的生活更轻松的优秀技术?

你会如何处理这个问题?

1 个答案:

答案 0 :(得分:2)

SQL Server CE无法正常工作,它需要独占访问数据库文件。我建议使用SQLite。如果您有大量用户或用户同时写入数据库,那就不是没有它自己的问题。

WPF在这里不会帮到你,它只是一个GUI工具。