什么是web.config锁定以及如何以及为何完成锁定?

时间:2019-04-03 11:57:03

标签: c# asp.net visual-studio web web-config

什么是web.config锁定以及如何以及为什么完成锁定?这将是一篇很长的文章,因为我将逐步引导您完成导致这个问题的过程。

我有一个要调试和探索的网站。它已经被使用。在我的开发小组中的同龄人的计算机上,它已经处于可行状态。我只想单步调试代码。为此,根据与我一起工作的同僚的说法,我需要在本地启动网站,然后将在Visual Studio中加载的项目攻击到正在运行的项目。

这使我陷入了绊倒的错误。当我打开IIS并单击列出并经过验证的网站的“浏览* .80(http)”选项时,它会在浏览器中启动网站,但出现错误:

HTTP错误500.19-内部服务器错误

无法访问请求的页面,因为该页面的相关配置数据无效。

详细的错误信息:

模块    IIS Web核心

通知    BeginRequest

处理程序    尚未确定

错误代码    0x80070021

配置错误    此配置部分不能在此路径上使用。当节锁定在父级时,会发生这种情况。锁定默认情况下是(overrideModeDefault =“ Deny”),或者是由一个带有overlayMode =“ Deny”或旧版allowOverride =“ false”的位置标记显式设置的。

配置文件

\?\ C:\ Users .... \ web.config

我当然已经修改了web.config的路径以保持匿名。

页面上的“配置源:”带有带有XML节点的红色突出显示行,但这似乎不是有用的信息。

页面底部的“更多信息”区域显示:

更多信息:    当读取Web服务器或Web应用程序的配置文件时出现问题时,将发生此错误。在某些情况下,事件日志可能包含有关导致此错误的原因的更多信息。
查看更多信息»

由于HResult代码为0x80070021,此超链接页面https://support.microsoft.com/en-us/help/942055/http-error-500-19-error-when-you-open-an-iis-7-0-webpage上列出的相应错误消息为:

应用程序“应用程序名称”中的服务器错误

HTTP错误500.19 –内部服务器错误

结果:0x80070021

HRESULT的描述 无法访问请求的页面,因为该页面的相关配置数据无效。

原因是:当IIS配置文件的指定部分锁定在较高的配置级别时,可能会发生此问题。

解决方法是:要解决此问题,请解锁指定的部分,或者不要在该级别上使用它。有关配置锁定的详细信息,请参阅如何在IIS 7.0配置中使用锁定。

这链接到此页面https://docs.microsoft.com/en-us/iis/get-started/planning-for-security/how-to-use-locking-in-iis-configuration,该页面描述了锁定配置文件中不同元素的情况。

显然,根据此在线文档,我可以按照所述步骤解决此问题。

该页面提到applicationHost.config,但是错误页面上我引用了web.config,但我认为如果我更改了

可能会起作用

但是,intellisense表示“ overrideMode”不是允许的属性。

0 个答案:

没有答案