如何知道锁定文件的内容

时间:2013-03-15 05:06:35

标签: c# asp.net file

尝试使用此方法从ASP.NET Web应用程序中读取文件时:

string strContents;
using (StreamReader sr = new StreamReader(strFilePath))
{
    strContents = sr.ReadToEnd();
}

我得到以下异常:

  

进程无法访问文件'file_path',因为它正在存在   被另一个过程使用。

所以我很好奇,有什么方法可以知道锁定这个文件是什么?

PS。从异常中知道这个很好,如果不可能,有什么方法可以知道它吗?

1 个答案:

答案 0 :(得分:1)

标准答案是使用其中一个SysInternals工具(如handle)来查看锁定文件的进程。

如果您确定这是您的代码 - 代码审查可能比使用WinDbg挖掘流程更容易。

如果你想自己编写 - 阅读“Windows Internals”一书本质上是必须的,并且互操作的良好知识将是加分。