asp.net - 配置文件已被另一个程序更改

标签 asp.net web-config

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

Current User: NT AUTHORITY\NETWORK SERVICE Target Site: BaseConfigurationRecord.EvaluateOne Error: (System.Configuration.ConfigurationErrorsException) The configuration file has been changed by another program. (E:\PEC\web.config)

StackTrace: at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName) at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index) at System.Web.Configuration.RuntimeConfig.get_Authorization() at System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

最佳答案

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

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

关于asp.net - 配置文件已被另一个程序更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501473/

相关文章:

c# - 在 asp.net 中仅获取文件夹中的文件名称,而不获取完整路径

asp.net - Web 应用程序项目程序集引用存储在哪里?

c# - 页面过期时 Asp.net c# 301 重定向

c# - 检索并使用 Windows Azure 的连接字符串?

c# - 想要在 asp.net c# 中使用 Resolve.url 时打开新选项卡

javascript - 使用ScriptBundle可以调试吗?

.net - 用 MSDeploy 替换整个配置文件

asp.net - TicketCompatibilityMode 上的 IIS 配置错误

asp.net - 如何在 masterpage.master 中访问 masterpage.master.vb 中定义的变量

javascript - 如何覆盖另一个文件中的 JavaScript 函数?