Skip to main content
 首页 » 编程设计

c#之无法加载配置文件 web.config之正在被另一个进程使用

2024年01月01日40langtianya

w3wp.exe 进程抛出以下 ConfigurationErrorsException:

加载配置文件时发生错误:该进程无法访问文件“web.config”,因为它正被另一个进程使用

这是我们目前确定的:

  • 错误是间歇性的!有时在浏览器中刷新页面就足以再次启动它。有时不是。该文件已被锁定,当我们直接连接到 Web 服务器时,我们无法使用记事本打开它。
  • 由于此错误是间歇性出现的,所以它似乎不是文件权限问题。
  • 我们有多个应用程序在这个确切的配置下遇到了这个问题。它们位于单独的应用程序池中。在错误开始出现前后,应用程序代码没有发生任何变化。
  • 除了 w3wp.exe 之外,我们找不到任何正在访问此文件的进程。
  • 我们的网络应用程序不会对 web.config 文件写入任何更改,只会从中读取值。
  • 此错误发生在我们网络场的多台服务器上
  • 我们无法在我们的开发环境中重现此错误。它只发生在生产中。
  • 应用程序在 x64 服务器 (Win 2008 Server) 上运行,使用 .NET 4.0 Framework。

想法?

请您参考如下方法:

在我的例子中,webconfig 文件是在 notepad++ 的选项卡之一中打开的,甚至 notepad++ 处于关闭状态,一旦我打开并关闭 notepad++ 问题就消失了。这表明检查文件打开的所有实例是必不可少的。