IIS文件锁定 - 进程无法访问该文件,因为它正被另一个进程使用

Hal*_*yon 4 c# asp.net iis

我有一个文本文件,其中包含JSON格式的缓存数据.我正在尝试更新文件,但我的IIS工作进程正在锁定文件,当我尝试写入它时,我收到错误"进程无法访问文件,因为它被另一个进程使用".我在Google和Stack上搜索了答案,但我似乎无法找到与IIS锁定文件相关的任何内容.该文本文件包含在我的Visual Studio解决方案中,我在本地计算机上使用IIS来托管我的网站.对于我的第一个问题,我想知道如何让IIS释放文件或根本不锁定它.对于第二个问题,我想知道是否有一种不同的方法来阻止IIS锁定我的文件.

Joh*_*ers 7

IIS未锁定您的文件.IIS不知道您的文件存在.某些应用程序(可能是您自己的)正在锁定文件.

尝试使用来自SysInternals的procmon之类的程序来找出锁定文件的进程.

  • ps:您可以使用免费的sysinternals工具*Handle*来确定哪个应用程序锁定了文件:http://technet.microsoft.com/en-us/sysinternals/bb896655 (2认同)

Hal*_*yon 6

午休后,我意识到工作进程挂在文本文件上,因为它正在从中读取一行,然后尝试写入它.我将文件包装在using语句中,并在读取后移动写入,现在它正在工作.