Isso está deixando toda a equipe louca. Deve haver uma parte simples e mal configurada do IIS ou do nosso servidor Web, mas toda vez que tentamos executar o ASP.NET Web Application no IIS 7.5, obtemos o seguinte erro ...
Aqui está o erro completo:
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:
A máquina está executando o Windows Server 2008 R2 . Estamos desenvolvendo nosso aplicativo Web usando o Visual Studio 2008 .
De acordo com a Microsoft, o código 8007000d significa que há um erro de sintaxe em nosso web.config - exceto que o projeto cria e executa bem localmente. Observar o web.config no XML Notepad também não traz nenhum erro de sintaxe. Estou assumindo que deve ser algum tipo de configuração ruim da minha parte ...?
Alguém sabe onde posso encontrar mais informações sobre o erro? Nada está sendo exibido no EventViewer :(
Não tenho certeza do que mais seria útil mencionar ...
A assistência é muito apreciada. Obrigado!
ATUALIZAÇÕES! - POSTADO WEB.CONFIG ABAIXO
Ok, desde que publiquei a pergunta original acima, localizei as linhas precisas no web.config que estavam causando o erro.
Aqui estão as linhas (elas aparecem entre as <System.webServer>
tags) ...
<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>
Nota: Se eu excluir as linhas entre o <httpHandlers>
AINDA, recebo o erro. Eu literalmente tenho que excluir <httpHandlers>
(e as linhas entre) para parar de receber o erro acima.
Depois de fazer isso, recebo um novo erro 500.19, no entanto. Felizmente, desta vez o IIS realmente me diz qual parte do web.config está causando um problema ...
<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>
Observando essas linhas, fica claro que o problema foi migrado ainda mais dentro da mesma <system.webServer>
tag para a <handlers>
tag.
O novo erro também é mais explícito e reclama especificamente que não reconhece o atributo "validar" (como visto na terceira linha acima). A remoção desse atributo faz com que se queixe de que a mesma linha não possui o atributo "nome" necessário. A adição desse atributo gera o erro do ASP.NET ...
Não foi possível carregar o arquivo ou assembly 'System.web.Extensions, Versão = 1.0.61025.0, Culture = neutral, PublicKeyToken = f2cb5667dc123a56' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.
Obviamente, acho que esses novos erros surgiram da exclusão das <httpHandlers>
tags em primeiro lugar - elas são obviamente necessárias pelo aplicativo -, então a pergunta permanece: por que essas tags causariam um erro no IIS em primeiro lugar? ??
Preciso instalar algo no IIS para fazê-lo funcionar com eles?
Obrigado novamente por qualquer ajuda.
WEB.CONFIG
Aqui estão os bits problemáticos da nossa web.Config ... Espero que isso ajude alguém a encontrar o nosso problema!
<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
. Eles começam<!--
e terminam com-->
.