Проблемы веб-приложений (web.ошибки конфигурации) HTTP 500.19 с IIS7. 5 и ASP.NET v2



это сводит с ума всю команду. Должна быть какая-то простая неверно настроенная часть 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:wwwrootweb.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 означает, что в нашей сети есть синтаксическая ошибка.config -- за исключением того, что проект строится и работает нормально локально. Глядя на паутину.конфигурации в XML Блокнот не приносят до каких-либо синтаксических ошибок, либо. Я предполагаю, что это должна быть какая-то плохая конфигурация с моей стороны...?



кто-нибудь знает, где я могу найти дополнительную информацию об ошибке? Ничего не отображается в EventViewer, либо : (



не уверен, что еще было бы полезно упоминать...



помощь очень ценится. Спасибо!



обновлений! - ВЫЛОЖИЛ В СЕТЬ.КОНФИГУРАЦИЯ НИЖЕ



хорошо, так как я разместил исходный вопрос выше, я отследил точные строки в web.конфигурации которые были причиной ошибки.



вот строки (они появляются между <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>


Примечание: если я удалю строки между the <httpHandlers> Я все еще получаю ошибка. Я буквально должен удалить <httpHandlers> (и линии между ними), чтобы остановить получение вышеуказанной ошибки.



как только я это сделал, я получаю новая 500.19 ошибка, однако. К счастью, на этот раз IIS фактически говорит мне, какой бит сети.конфигурация вызывает проблему...



    <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 ошибка...




не удалось загрузить файл или сборку
- Система.сеть.Увеличение,
Версия=1.0.61025.0, культуры=нейтральный,
PublicKeyToken=f2cb5667dc123a56 ' или
одна из его зависимостей. Этот система
не удается найти указанный файл.




очевидно, я думаю, что эти новые ошибки только что возникли от меня удаление <httpHandlers> теги в первую очередь-они, очевидно, необходимы приложению-поэтому остается вопрос: почему эти теги вызывают ошибку в IIS в первую очередь???



мне нужно установить что-то в IIS, чтобы заставить его работать с ними?



еще раз спасибо за любые помощь.



WEB.Конфигурации



вот неприятные кусочки нашего web.Конфигурации... Я надеюсь, это поможет кому-то найти нашу проблему!



<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>
1357   17  

17 ответов:

У меня точно такие же симптомы, и мой вопрос был похож на Петра. Был настройка существующего проекта на новый сервер. Мой проект ссылался на модуль перезаписи URL-адреса IIS7, но он еще не был установлен на новом сервере. Установка его исправлена моя проблема.

можно использовать Установщик Веб-Платформы Microsoft для ее установки. Выполните его, выберите продукты в меню слева выберите пункт сервер и URL переписать in список и установить его.

или вы можете скачать его здесь.

после борьбы с этим в течение дня на новой машине я наткнулся на следующие ссылки. Мне не хватало модулей перезаписи. Это все исправило.

http://forums.iis.net/t/1176834.aspx

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

Аха! Я победил эту проблему! Боже мой, это был зверь, для кого-то вроде меня ограниченный опыт в IIS. Я действительно думал, что проведу все выходные, ремонтируя его.

вот решение для всех, кто когда-нибудь эта проблема зла.

Первое, что нужно знать: если вы надеетесь, что это ваше решение, убедитесь, что у вас есть тот же код ошибки (0x8007000d) и источник конфигурации (-1: 0:). Если нет, то это не ваше решение.

следующее, что нужно знать:AJAX неправильно установлен в вашем интернете.конфиг!

исправить это, следуя этому guide:
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx

установите AJAX 1.0 extensions на рабочем сервере, по этой ссылке:

http://www.asp.net/ajax/downloads/archive/
обновление: Microsoft, кажется, удалил вышеуказанную страницу : (

была та же проблема, что и выше, тот же код ошибки и т. д. Настройка локального веб-сайта в Windows 8. После долгих поисков выяснилось, что нам не хватает URL rewrite. После загрузки все было в порядке. :)

та же проблема на сервере 2016, IIS 10, ошибка 500.19. Я установил модуль перенаправления, и он работал. Я не знаю, почему это не было включено по умолчанию.

https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

чтобы быть ясным, это похоже на веб.конфигурация из IIS 7 будет работать или предназначена для работы, но отсутствие этого модуля дает действительно странную и бесполезную ошибку. Googling приведет вас на страницу Microsoft, которая настаивает на том, что ваш сайт поврежден или ваш веб-сайт.конфигурация повреждена. Похоже, что это не так.

эта бесполезная страница здесь:https://support.microsoft.com/en-us/kb/942055

Я просто добавляю answear, потому что я потратил часы, пытаясь решить те же симптомы (но другая проблема):

возможной причиной является x86 dll в 64-битном пуле приложений, решение состоит в том, чтобы включить 32-битные приложения в настройках пула приложений.

для меня, перерегистрация asp.net для IIS сделали свое дело. Надеюсь, это поможет кому-то еще.

aspnet_regiis.exe -i

чтобы подвести итог на основе ответов здесь и в других местах:

  1. Проверьте .NET-версию пула приложений (например, 2.0 vs 4.0)
  2. убедитесь, что установлены все модули IIS, на которые имеются ссылки. В этом случае это были расширения AJAX (вероятно, не так в наши дни), но URL переписать общие.

еще один способ получить 500.19 errot без видимых причин - отсутствующие каталоги и / или нарушенные разрешения на них.

в случае этого вопроса, я считаю, что вопрос о полной версии IIS. Я предполагаю это из-за этой строки:

Config File         \?\E:\wwwroot\web.config

установки служб IIS, как правило, создает wwwroot для вас, и это корневая папка по умолчанию для всех веб-сайтов и точку монтирования виртуальных каталогов. Он всегда существует, так что нет проблем, вы обычно не заботитесь много о что.

С web.конфигурационные файлы являются иерархическими, вы можете поместить туда мастер-веб.конфигурационный файл и есть некоторые корневые настройки там, и все сайты будут наследовать его. IIS проверяет, существует ли этот файл и пытается загрузить его.

однако, первый весело:

этот каталог будет существовать, если у вас есть IIS правильно установлен. Если он не существует, вы получите ошибку 500-класс. Однако, если вы играете с правами доступа к файлам/каталогам, особенно "продвинутыми", вы можете на самом деле случайно запретить учетная запись службы IIS от сканирования / чтения содержимого этого каталога. Если IIS не может проверить, если это wwwroot\web.config существует, или если он существует, и IIS не может открыть и прочитать его - ошибка класса BAM - 500.

однако для полного IIS это очень маловероятно. Разработчики / администраторы, работающие с полным IIS, обычно неохотно играют с wwwroot поэтому он обычно остается правильно настроенным.

однако, на IIS Экспресс..

обычно IIS Express "просто работает". Часто разработчики, использующие IIS Express часто не знают, насколько внутренне он напоминает реальный IIS.

вы можете легко наткнуться на то, что IIS Express имеет свой собственный applicationHost.конфигурационный файл и VS создает и управляет им для вас (правильно, в какой-то степени), и это своего рода открыватель глаз, говорящий вам, что это не так просто и не так просто, как кажется на первый взгляд.

помимо этой конфигурации файл, VisualStudio также создает пустую структуру каталогов под . Если я правильно помню, IIS Express считает эти папки корневые каталоги вашего сайта(ов) на котором виртуальные каталоги С кодом монтируются.

позже, так же, как IIS, когда IIS Express запускается, это ждет эти папки существуют и проверяет наличие корневой сети.конфигурационные файлы есть. Элемент веб-сайт.конфигурации файлы. Почти всегда, эти паутины.конфигурационные файлы отсутствуют - и это нормально, потому что вы не хотите их - у вас есть веб-приложение**.config", они размещаются вместе с остальным содержимым в виртуальных каталогах.

теперь вторая забавная часть: IIS Express ждет что пустые каталоги. Они могут быть пустыми, но они должны существовать. Если они не существуют - вы получите 500-классную ошибку, сообщающую вам, что " web.файл "config" по этому пути недоступен.

в впервые я столкнулся с этой проблемой, когда я очищал свой жесткий диск. Я обнаружил, что папка "документы\веб-сайты", полная мусора, я узнал несколько летних проектов, над которыми я больше не работаю, все пустые, ни одного файла, поэтому я удалил все это. Через неделю-БАМ-я не могу запустить / отладить любой из сайтов, которые я работал в данный момент. Ошибка была 500.19, не удается прочитать файл конфигурации.

Итак, если вы используете IIS Express и видите ошибку 500-класса, рассказывающую о конфигурации чтения, внимательно проверьте сообщение об ошибке и прочитать все пути, упомянутые. Если вы видите что-нибудь вроде:

c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..

перейдите туда, где указана ошибка, убедитесь, что эти папки существуют, убедитесь, что учетная запись IIS worker может проходить и читать их, и если вы заметите, что что-то не так, возможно, это будет так.

кстати. В VisualStudio, на ProjectProperties / Web есть кнопка "создать виртуальный каталог". Он по существу делает именно это, поэтому вы можете попробовать его сначала, но IIRC он также может иногда очистить/заменить/поменять конфигурацию разделов в файле applicationhost.конфигурационный файл, поэтому будьте осторожны с этой кнопкой, если у вас есть какие-либо пользовательские настройки.

Это может быть не связано....Я начал с той же ошибки, упомянутой выше, начал гуглить, вносить изменения, получать новые ошибки, бесконечный цикл.

изменение, которое привело меня к этой ошибке, было связано с делегированием функций в Диспетчере IIS в разделе управления сервером. Мне жаль, что я не могу вспомнить, какой из них я изменил, но гугл может помочь.

Это заставило меня пройти мимо 1-й ошибки в совершенно новый поток других, некоторые совершенно бессмысленные. (Я получил бы одну ошибку при запуске в виртуальном каталоге, преобразование его в приложение дало бы другую ошибку, etec и т. д.). Что окончательно решило эту серию ошибок было: Диспетчер IIS, пулы приложений, DefaultAppPool, включить 32-разрядные приложения=True

Я запустил это приложение на 32-битной Windows xp box, и теперь я запускаю его на 64-битной Windows 7 box.

Так что надеюсь, это поможет кому-то еще.

мой IIS 7.5 не понимает тег в интернете.конфиг В VS 2010 подчеркивается, что тег также. Проверьте файл конфигурации точно, чтобы найти все подчеркнутые теги. Я положил его в комментарий и ошибка уходит.

прокомментируйте следующие строки в интернете.конфигурационный файл.

<modules>
    <!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>

<handlers>
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
    <!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>

Это будет работать.

У меня была такая же ошибка. У меня был сайт IIS с .net framework версии 2.0, но мое приложение нуждалось в 4.0. Я изменил версию, и это сработало.

проводка просто как напоминание, если у кого-то может быть такая же проблема.

У меня была такая же проблема в Windows 7.

решение состояло в том, чтобы перейти к основным настройкам > подключиться как > конкретный пользователь - и войти в систему как пользователь, а не по умолчанию 'pass-through'

это исправило проблему для меня.

Windows 7

попробуйте это,

запустить cmd от имени администратора.

Unistall все iis.

start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService

переустановите iis и нормально это работает

Алена

Я получил эту ошибку, поставив <customErrors> бирка внутри <system.webServer> вместо <system.web>, где она принадлежит. Там была небольшая закорючка под <customErrors> тег, но я не заметил его сразу.

в моем случае было что-то не так с установкой пакета хостинга Windows .NET Core.

Я установил и перезапустил IIS с помощью ("net stop was / y" и "net start w3svc") после установки, но я бы получил эту ошибку 500.19 с кодом ошибки 0x8007000d и источником конфигурации -1: 0:.

мне удалось решить эту проблему, восстановив установку пакета хостинга Windows .NET Core и перезапустив IIS с помощью команд, которые я упомянул выше.

надеюсь, это кому-то поможет!

Comments

    Ничего не найдено.