这快把整个团队逼疯了。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。我们正在使用 VisualStudio2008开发我们的 Web 应用程序。
根据 Microsoft 的说法,代码8007000d 意味着在 web.config 中存在语法错误——除了项目在本地构建并运行良好。在 XML 记事本中查看 web.config 也不会出现任何语法错误。我猜一定是我的设计不好吧?
有人知道我在哪里可以找到关于这个错误的进一步信息吗? 在 EventViewer 中也没有显示: (
不知道还能说什么。
非常感谢你的帮助,谢谢!
更新
好的,自从我发布了上面的原始问题,我已经追踪了导致错误的 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>
标记中。
新的错误也更加明确,并且特别抱怨它不能识别属性“ valid”(如上面第三行所示)。删除这个属性会让它抱怨同一行没有必需的“ name”属性。添加这个属性然后显示 ASP.NET错误..。
无法加载文件或程序集 系统,网络,扩展, 版本 = 1.0.61025.0,文化 = 中性, PublicKeyToken = f2cb5667dc123a56’或 它的一个依赖项,系统 无法找到指定的文件。
显然,我认为这些新的错误是由于我首先删除了 <httpHandlers>
标记而引起的——它们显然是应用程序所需要的——所以问题仍然存在: 为什么这些标记首先会在 IIS 中引起错误?
我是否需要在 IIS 中安装一些东西来使它们工作?
再次感谢你的帮助。
网络配置
这里是我们的 网络。配置的麻烦位... 我希望这有助于有人找到我们的问题!
<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>