【问题标题】:The configuration file has been changed by another program配置文件已被另一个程序更改
【发布时间】:2010-03-23 16:00:04
【问题描述】:

我收到以下错误,系统认为 web.config 文件正在被修改。实际文件显示自上次发布站点以来 web.config 文件的修改日期没有更改。当被重定向到另一个页面时会出现该问题,尽管发生问题的页面会发生变化,并且任何访问该站点的用户都会存在错误。重新发布应用程序可以暂时缓解该问题,但大约 24 小时后该问题将再次出现。任何想法为什么它认为文件正在改变,即使它没有?

当前用户:NT AUTHORITY\NETWORK 服务目标站点: BaseConfigurationRecord.EvaluateOne 错误: (System.Configuration.ConfigurationErrorsException) 配置文件已经 被另一个程序改变了。 (E:\PEC\web.config)

堆栈跟踪:在 System.Configuration.BaseConfigurationRecord.EvaluateOne(字符串 [] 键,SectionInput 输入,布尔值 isTrusted, FactoryRecord 工厂记录,部分记录 sectionRecord,对象 parentResult)
在 System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord 工厂记录,部分记录 sectionRecord,对象父结果, 布尔 getLkg,布尔 getRuntimeObject,对象和结果, 对象和结果运行时间对象)在 System.Configuration.BaseConfigurationRecord.GetSectionRecursive(字符串 configKey, Boolean getLkg, Boolean 检查权限,布尔值 getRuntimeObject,布尔值 requestIsHere, 对象&结果, 对象& 结果运行时间对象)在 System.Configuration.BaseConfigurationRecord.GetSection(字符串 配置密钥)在 System.Web.Configuration.RuntimeConfig.GetSectionObject(字符串 节名)在 System.Web.Configuration.RuntimeConfig.GetSection(字符串 部分名称、类型类型、结果索引 指数)在 System.Web.Configuration.RuntimeConfig.get_Authorization() 在 System.Web.Security.UrlAuthorizationModule.OnEnter(对象 源,EventArgs eventArgs)在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously)

【问题讨论】:

  • 您是否运行了防病毒软件?
  • 我有时也会遇到同样的问题,我们的服务器上正在运行防病毒软件。当它发生修复错误时,我也会重新启动我们的应用程序池。但首先是什么导致了它?

标签: asp.net web-config


【解决方案1】:

我们发现这个问题是由于 IIS 中的两个不同应用程序被配置为指向同一个目录 - 我们有一个 www.mysite.com 和 preview.mysite.com;我们通过使用msdeploy 来克隆主站点来设置预览,并没有意识到 www.mysite.com/foo 是一个独立的 IIS 虚拟应用程序 - 所以我们最终使用了 www.mysite.com/foo 和预览。 mysite.com/foo 都指向同一个文件夹,并且“争夺”其中一个拥有配置文件等。

删除第二个虚拟应用程序解决了问题。

【讨论】:

  • 这是有道理的
【解决方案2】:

对我来说,这个错误是有一个带有 web 配置替换的 web 部署项目和一个指向 web.config 中外部配置文件的链接,例如:

看来你只能有一个或另一个。我在上面写了一篇博文: http://blog.coultard.com/2012/02/fix-for-web-deployment-project.html

【讨论】:

    【解决方案3】:

    我在使用 Visual Studio 开发的网站上遇到过这种情况。

    我设法通过删除站点的整个文件夹(物理路径)、通过浏览器访问站点、重新启动站点并最终从 Visual Studio 再次发布站点来解决错误。

    【讨论】:

      猜你喜欢
      • 2015-03-18
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多