这让整个团队都发疯了。IIS 或我们的 Web 服务器肯定有一些简单的错误配置部分,但是每次我们尝试在 IIS 7.5 上运行 ASP.NET Web 应用程序时,我们都会收到以下错误...
这是完整的错误:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
data for the page is invalid.
`Detailed Error Information`
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\E:\wwwroot\web.config
Requested URL http://localhost:80/Default.aspx
Physical Path
Logon Method Not yet determined
Logon User Not yet determined
Config Source
-1:
0:
该机器正在运行Windows Server 2008 R2。我们正在使用Visual Studio 2008开发我们的 Web 应用程序。
根据微软的说法,代码 8007000d 意味着我们的 web.config 中存在语法错误——除了项目在本地构建和运行良好。在 XML Notepad 中查看 web.config 也不会出现任何语法错误。我假设它一定是我的某种糟糕的配置......?
有谁知道我可以在哪里找到有关该错误的更多信息?EventViewer 中也没有显示任何内容:(
不知道还有什么可以帮助提及...
非常感谢您的帮助。谢谢!
更新!- 在下面发布 WEB.CONFIG
好的,因为我在上面发布了原始问题,所以我已经在web.config中找到了导致错误的确切行。
这是行(它们出现在<System.webServer>
标签之间)...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpHandlers>
注意:如果我删除我仍然得到错误之间的行。<httpHandlers>
我实际上必须删除<httpHandlers>
(以及中间的行)才能停止出现上述错误。
但是,一旦完成此操作,我就会收到一个新的500.19 错误。谢天谢地,这一次 IIS 实际上告诉我 web.config 的哪一部分导致了问题......
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
查看这些行,很明显问题已在同一<system.webServer>
标签内进一步迁移到该<handlers>
标签。
新错误也更加明确,特别抱怨它无法识别属性“validate”(如上面第三行所示)。删除此属性然后会抱怨同一行没有所需的“名称”属性。添加此属性会引发ASP.NET错误...
无法加载文件或程序集“System.web.Extensions,Version=1.0.61025.0,Culture=neutral,PublicKeyToken=f2cb5667dc123a56”或其依赖项之一。该系统找不到指定的文件。
显然,我认为这些新错误是由于我一开始就删除了<httpHandlers>
标签而引起的——它们显然是应用程序需要的——所以问题仍然存在:为什么这些标签首先会在 IIS 中引发错误? ??
我是否需要在 IIS 上安装一些东西才能使其与它们一起工作?
再次感谢任何帮助。
网页配置
这是我们的web.Config的麻烦点......我希望这有助于有人找到我们的问题!
<system.Web>
<!-- stuff cut out -->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</modules>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
</system.webServer>