我在 vb.net 中创建了一个以 sql-server 作为后端的时间记录程序。用户可以将时间条目发送到数据库中(我使用了类型化的数据集功能)并发送不同的查询以获取那里的工作时间概览。我的计划是将那个 exe 文件放在我们网络中的一个文件夹中,然后让用户在他们的桌面上创建一个链接。每个用户都写入同一个表,但只能看到他自己的条目,因此两个用户不可能操作同一个数据集。在我的研究中,我发现可能会发生“不同用户之间的写入争用”的警告。我的情况是这样吗?有没有人体验过“许多用户使用相同的 exe”以及在哪里使用数据集,并且可以给我一个建议,它是否有效或我应该做什么?
2 回答
SQL Server will handle all of your multi-user DB access concerns.
Multiple users accessing the same exe from a network location can work but it's kind of a hack. Let's say you wanted to update that exe with a few bug fixes. You would have to ensure that all users close the application before you could release the update. To answer you question though, the application will be isolated to each user running it. You won't have any contention issues when it comes to CRUD operations on the database due to the network deployment.
You might consider something other than a copy/paste style publishing of your application. Visual Studio has a few simple tools you can use to publish your application to a central location using ClickOnce deployment.
http://msdn.microsoft.com/en-us/library/31kztyey(v=vs.110).aspx
我的解决方案是在表单中添加一个简单的关闭计时器,它会提醒用户在凌晨 4 点关闭程序之前保存他们的数据。如果我需要升级,我只需替换网络上的 .exe。又丑又脏,是的……但在过去的两年里,它就像一种魅力。祝你好运!