尝试使用此方法从ASP.NET Web应用程序中读取文件时:
string strContents;
using (StreamReader sr = new StreamReader(strFilePath))
{
strContents = sr.ReadToEnd();
}
我得到以下异常:
进程无法访问文件'file_path',因为它正在存在 被另一个过程使用。
所以我很好奇,有什么方法可以知道锁定这个文件是什么?
PS。从异常中知道这个很好,如果不可能,有什么方法可以知道它吗?
答案 0 :(得分:1)
标准答案是使用其中一个SysInternals工具(如handle)来查看锁定文件的进程。
如果您确定这是您的代码 - 代码审查可能比使用WinDbg挖掘流程更容易。
如果你想自己编写 - 阅读“Windows Internals”一书本质上是必须的,并且互操作的良好知识将是加分。