我有一个简单的 ASP.NET 网站。当我尝试在 Windows 7 IIS 上运行它时,浏览器中显示以下错误消息:
HTTP 错误 500.19 - 内部服务器错误 无法访问所请求的页面,因为该页面的相关配置数据无效
我怎么解决这个问题?
答案1
当您收到此错误时,这意味着您的网站文件可能存在问题web.config
。在这些情况下,IIS7 非常有用,通常会指出问题大致所在。
例如,我故意将web.config
测试站点弄坏,使其 XML 格式错误:
红色突出显示的区域提示了我哪里出了问题。
如果不查看您网站上的完整错误消息,就很难推测出了什么问题,只能猜测文件web.config
(或可能是父文件web.config
)中存在无效内容。
更新:
根据您的更新和新的屏幕截图,注释掉文件中红色标示的行web.config
,例如:
<!-- <modules runAllManagedModulesForAllRequests="true"/> -->
看起来这个设置已被锁定在您的机器的某个地方,可能是在文件applicationHost.config
中C:\Windows\System32\inetsrv\config
。
您可以尝试web.config
通过在管理员命令行上运行以下命令来解锁此设置以允许使用该设置:
appcmd.exe unlock config /section:system.webserver/modules /commit:apphost
答案2
错误提示你需要解锁模块配置部分,以便它能够被网站目录中的 web.config 文件覆盖。
尝试appcmd.exe unlock config /section:system.webserver/modules /commit:apphost
或使用功能委托用户界面将模块部分设置为读/写。