我有一个WPF C#多用户应用程序,它与Sql Server Express数据库交互。目前我遇到了以下问题: 如何组织应用程序和数据库,以便不同站点上的多个用户能够使用它,也许我应该将数据库文件放在服务器上,并使我在其他站点上的应用程序在与它们交互时引用该服务器数据库?如果是这样,我如何提供数据库文件的安全性。 是否有任何情况我可以在服务器上安装我的应用程序并将其签名为服务器,而在其他计算机上安装时指向该服务器? 在这种情况下,对一般战略的任何建议都将受到赞赏。
提前致谢!
答案 0 :(得分:1)
如果所有用户都是并发的,那么您需要将SQL实例放在他们都可以访问的服务器上。
你还需要知道这样的一些事情,例如你将如何管理你的交易以及你的持久层如何在一般情况下发挥作用。
每个主题都可能会产生更多的SO问题:)这可以帮助您了解如何构建持久层... http://msdn.microsoft.com/en-us/magazine/dd569757.aspx
答案 1 :(得分:0)
对于多用户应用程序,您绝对应该将数据库放到服务器上。并且因为应用程序适用于多用户,所以当用户打开应用程序时显示的第一个屏幕是登录屏幕(就像Web应用程序的情况一样)。
安全性不是问题,一旦将数据库放入文件系统,只有该计算机上的用户可以访问它。当然,包含数据库的计算机应该只有管理员作为用户。另一点是Windows可能运行IIS,不要将数据库文件放在IIS的公共根目录下,以便非用户人员无法通过HTTP下载它们。
假设用户正在同一个办公室工作。您可以将LAN中的任何计算机分配为服务器并在其上安装数据库。同一LAN中的任何计算机都具有LAN IP(例如192.168.1.100),您的应用程序可以连接到此IP以进行数据库操作。