从共享文件夹中运行Windows应用程序

3
我需要使用Visual Studio 2010开发一个简单的Windows应用程序,并使用MS Access关系型数据库,该数据库将在我们网络中的公共共享文件夹中访问。
我们没有选项在服务器上创建和托管Web应用程序。
在我们开发应用程序并创建exe文件之后,是否可以有多个用户从共享文件夹运行相同的exe文件并同时生成报告?
1个回答

4

多个用户可以同时执行文件(通常执行为只读)。唯一的问题是当您想要修改共享文件夹中的任何文件时(例如编写日志文件或发布新版本时)。

任意数量的进程(在同一台或不同的机器上)可以以只读方式访问文件。但是,一旦它们有了文件句柄,就不能修改该文件。这意味着在发布新版本时,所有正在运行的副本都必须停止。如果多个实例想要写入相同的日志文件,则必须实现某种形式的排队机制/处理由另一个进程编写的日志文件并且无法获取写句柄。

值得注意的是,当使用过多的用户时,访问是不稳定的。如果我记得正确,建议的最大并发用户数为12,尽管似乎根据使用情况而变化


感谢您的回答。我们公司存在一个严重的安全问题,因此在未来几个月内,我们部门无法采用网络应用程序或其他数据库解决方案。阅读了您的回答后,我认为我们将面临一个大问题,即至少50个用户会同时运行该应用程序并生成报告。请问您有什么建议吗? - Eyla
说句实话,一个适当的 SQL 服务器比 Access 更安全。使用 MS SQL,你实际上可以基于用户使用应用程序的 Windows 域帐户来授予表(甚至列!)的权限。我以前有过使用 Access 的问题,现在尽可能避免使用它。不幸的是,没有更多信息,我们无法为您提供良好的建议。理论上,您可以编写自己的“数据库”层,该层使用 Windows 共享上的平面文件,但速度可能会很慢,而且根据您的用例可能不简单。能否说明一下为什么 SQL 服务器行不通? - Basic
我会写一篇新的帖子,包含完整的高级内容,然后通知您告诉我您的建议。谢谢。 - Eyla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接