Это сводит всю команду с ума. Должна быть какая-то простая некорректированная часть IIS или нашего веб-сервера, но каждый раз, когда мы пытаемся запустить веб-приложение ASP.NET на IIS 7.5, мы получаем следующую ошибку...
Здесь полная ошибка:
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.
Согласно Microsoft, код 8007000d означает синтаксическую ошибку в нашем web.config - кроме того, что проект строит и работает нормально локально. Глядя на web.config в блокноте XML, также не возникает никаких синтаксических ошибок. Я предполагаю, что это должна быть какая-то плохая конфигурация с моей стороны...?
Кто-нибудь знает, где я могу найти дополнительную информацию об ошибке? В EventViewer ничего не отображается: (
Не уверен, что еще полезно упомянуть...
Помощь приветствуется. Спасибо!
ОБНОВЛЕНИЕ! - POSTED 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>
я STILL, получите ошибку. Я буквально должен удалить <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" (как видно на третьей строке выше). При удалении этого атрибута он жалуется, что одна и та же строка не имеет требуемого атрибута "name". Затем добавление этого атрибута вызывает ошибку ASP.NET...
Не удалось загрузить файл или сборку "System.Web.Extensions, Версия = 1.0.61025.0, Культура = нейтральная, PublicKeyToken = f2cb5667dc123a56 'или одной из его зависимостей. Система не может найти указанный файл.
Очевидно, я думаю, что эти новые ошибки только что возникли из-за того, что я удалил теги <httpHandlers>
в первую очередь - они, очевидно, необходимы приложению, поэтому остается вопрос: почему эти теги поднимают ошибку в IIS в первую очередь???
Нужно ли мне что-то установить в IIS, чтобы заставить работать с ними?
Еще раз спасибо за любую помощь.
Web.config
Вот неприятные бит нашего 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>