1

我们有一个可怕的系统可供使用,其中一个缺陷是数据库中的文件经常更改。我们计划将文件移动到文件系统,并在数据库中存储一个文件路径。这样做时我们应该注意什么吗?当多个请求需要复制然后通过网络异步发送相同的文件时,是否存在文件锁定问题?

4

2 回答 2

0

我在 ASP.Net 应用程序中使用过水晶报表 rpt 文件。它们存储在文件系统中,我在多次访问期间从未见过任何问题

于 2012-11-15T12:21:43.200 回答
0

如果网站进程获取文件(在文件系统中)的句柄,它将锁定该文件。这意味着您无法在网站进程运行时删除该文件。

为了解决这个问题,ASP.NET 影子将它知道的文件复制到一个临时位置。这允许它在保持原始文件解锁的同时获取锁(在影子复制文件上)。

因此,您可能需要考虑这一点。并发管理是数据库擅长的。根据进程使用文件的方式,文件系统需要格外小心。

于 2012-11-15T12:06:13.517 回答