这使整个团队疯狂。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记事本中查看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,版本= 1.0.61025.0,区域性=中性,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>
web.config
。他们以开头<!--
和结尾-->
。