2

我有一个与 Sql Server Express 数据库交互的 WPF C# 多用户应用程序。目前我遇到了以下问题:如何组织应用程序和数据库以便不同站点上的多个用户能够使用它,也许我应该将数据库文件放在服务器上,并将我的应用程序放在所有其他站点在与数据库交互时引用该服务器?如果是这样,我该如何提供数据库文件的安全性。是否有任何情况可以在服务器上安装我的应用程序并将其签名为服务器,而在其他机器上安装时指向该服务器?在这种情况下对一般策略的任何建议将不胜感激。

提前致谢!

4

2 回答 2

1

如果所有用户都是并发的,那么您将需要将 SQL 实例放在他们都有权访问的服务器上。

您还需要了解很多这样的事情,例如您将如何管理您的事务以及您的持久层将如何运作。

这些主题中的每一个都可能会产生更多的 SO 问题:)

这可以帮助您了解如何构建持久层。 http://msdn.microsoft.com/en-us/magazine/dd569757.aspx

于 2012-10-23T12:13:48.450 回答
0

对于多用户应用程序,您绝对应该将数据库放在服务器上。并且由于该应用程序是为多用户设计的,所以当用户打开应用程序时显示的第一个屏幕是登录屏幕(就像 Web 应用程序的情况一样)。

安全性不是问题,一旦将数据库放入文件系统,只有该计算机上的用户可以访问它。当然,包含数据库的计算机应该只有管理员作为用户。还有一点是Windows可能有IIS运行,不要把数据库文件放在IIS的公共根目录下,这样非用户就无法通过HTTP下载。

假设用户在同一个办公室工作。您可以将局域网中的任何计算机分配为服务器并在其上安装数据库。同一 LAN 中的任何计算机都有一个 LAN IP(例如 192.168.1.100),您的应用程序可以连接到该 IP 以进行数据库操作。

于 2012-10-23T11:05:49.497 回答