复制文件会导致其锁定

时间:2015-05-21 16:11:07

标签: c# asp.net vb.net iis

在Web服务器上,我有一个带有error.txt的ASP.NET网站。

此文件始终写入。它位于bin文件夹中。

我是否应该担心:

  1. 我转到网络服务器并打开bin文件夹
  2. 转到网络服务器并打开error.txt
  3. 我的C#代码始终以共享模式FileShare.ReadWrite

    写入

    使用命令提示符将文件复制到另一个文件夹更安全以避免锁定吗?

1 个答案:

答案 0 :(得分:1)

这取决于您打开它的应用程序。例如,如果您使用Microsoft Word打开它,它将锁定文件,其他进程只能读取它。但是,如果使用记事本打开它,则文件不会被锁定,而另一个进程可以读取,写入,删除,移动或重命名它。

您只需使用应用程序打开文件即可进行测试,然后尝试删除,重命名,写入或移动文件。如果您可以执行任何这些操作,那么您就知道您的应用程序没有锁定它。

假设您只是使用资源管理器复制它,复制该文件将锁定它以读取文件所需的时间。如果它是一个小文件,这只是几毫秒。

要确保应用程序在锁定时尝试写入文件时不会崩溃,请将写入操作置于循环中,如果返回异常则重试,等待100毫秒尝试之间。

相关问题