我有一个简单的动态数据应用程序,使用表单身份验证作为另一个 Web 应用程序的管理部分。当我在 Visual Studio 中将其作为独立项目运行时,此方法有效。
我已将其部署到应用程序目录内的实时站点,但出现以下错误:
HTTP 错误 500.19-内部服务器错误 无法访问所请求的页面,因为该页面的相关配置数据无效。
- 模块IIS Web 核心
- 通知开始请求
- 处理程序尚未确定
- 错误代码0x800700b7
- 配置错误无法添加类型为“add”且唯一键属性“name”设置为“UrlRoutingHandler”的重复集合条目
- 配置文件\?\C:\sites\website1\dd\web.config
配置源:
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</handlers>
我找到了一个建议的修复方法,将 applicationHost.config 中的以下值从“拒绝”更改为“允许”:
<section name="handlers" overrideModeDefault="Allow" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
但是,这不起作用。有没有人有其他建议,或者知道是什么导致了这个错误。
谢谢。
答案1
该错误意味着您有重复的 UrlRoutingHandler 设置。它可能设置在 C:\sites\website1\ 或 applicationHost.config 中。您应该能够从 \dd\web.config 的 web.config 文件中删除该行,然后就可以设置了。要找到根本原因,请检查树中的其他配置文件(站点级别,在本例中为 applicationHost.config)中的 UrlRoutingHandler。