ASP.NET: ошибка HTTP 500.19 - ошибка внутреннего сервера 0x8007000d

Я реплицирую развертывание веб-приложений и обнаружил несколько проблем, связанных с HTTP Error 500.19. Моя машина работает Windows 7, а рабочая разработка использует Windows 8. Мы разрабатываем наше веб-приложение с помощью Visual Studio 2010.

Во-первых, я получил код ошибки 0x80070021, аналогичный опубликованному здесь. Я обновляю свой web.config в соответствии с принятым ответом, а затем получаю следующий код ошибки (который аналогичен сообщению здесь).

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

Я прочитал определение симптомов в странице поддержки Microsoft и причиной ошибки является:

Эта проблема возникает из-за того, что файл ApplicationHost.config или файл Web.config содержит неправильный XML-элемент.

и решение

Удалите искаженный XML-элемент из файла ApplicationHost.config или из файла Web.config.

Однако используемый мной web.config отлично работает в исходной среде разработки.

Вот что я проверил и попробовал до сих пор:

  • Установка ASP.NET путем вызова aspnet_regiis -i
  • Задайте мое приложение для использования другого пула приложений (ASP.NET v4.0,.NET v4 и т.д.).
  • Файл ApplicationHost.config по умолчанию используется по умолчанию из Windows 7.

Это часть моего Web.Config

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

Я прочитал записи похожих/дубликатов/закрытых сообщений (около 13) в stackoverflow, пробовал все, кроме ответа, связанного с Ajax (это связано), и до сих пор не знает, что такое ошибка.

Кто-нибудь может решить эту ошибку? (И если это возможно, необходимо проверить исчерпывающие списки вещей, чтобы мы могли сократить подобные записи, подобные этому.) Я готов предоставить более подробную информацию.

Ответ 1

Ошибка 0x8007000d означает модуль перезаписи URL-адресов (ссылка на web.config) отсутствует или не установлена ​​правильная версия.

Просто установите модуль перезаписи URL через установщик веб-платформы.

Я рекомендую проверить все зависимости из web.config и установить их.

Ответ 2

В моем случае, поскольку я переустановил iis, мне нужно было зарегистрировать iis с помощью net net 4 с помощью этой команды:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

Ответ 3

При попытке настроить веб-сайт .NET Core 1.0 я получил эту ошибку и пробовал все остальное, что я мог найти без везения, включая проверку файла web.config, разрешений IIS_IUSRS, URL-адреса IIS переписать модуль и т.д. В конце концов, я установил DotNetCore.1.0.0-WindowsHosting.exe с этой страницы: https://www.microsoft.com/net/download, и он начал работать сразу.

Конкретная ссылка для загрузки: https://go.microsoft.com/fwlink/?LinkId=817246

Ответ 4

Установка перезаписи URL:

UPDATE - теперь это доступно (и работает с IIS 7-10):

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

Убедитесь, что для вашего сервера IIS установлено значение "Разрешено":

enter image description here

Ответ 5

Поздно вечеринке здесь, но я только что боролся с той же проблемой (симптомами) и проклинал отсутствие подробных отчетов об ошибках. Он отлично работал на машинах IIS 8+, но Win 7 получил эти МГНОВЕННЫЕ ошибки HTTP 500.19. Для меня это было так же глупо, как наличие неподдерживаемого элемента конфигурации в файле конфигурации:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

Таким образом, несмотря на то, что старые файлы web.config работали нормально, я просто различал их и начал измельчать новые блоки, пока я не запустил загрузку страницы. Если бы я видел это в качестве ответа, я бы сразу отправился на этот маршрут, поскольку я знал, что ни одно из популярных решений не имеет отношения к делу. Итак, вы идете:)

Ответ 6

Проблема решена. Вот шаги, которые я пробовал:

  • Включить 32-разрядное приложение в IIS → Пул приложений → Расширенные настройки
  • Скопируйте System.EnterpriseServices.dll и System.EnterpriseServices.Wrapper.dll из C:\Windows\Microsoft.NET\Framework\v2.0.50727 в папку bin приложения.
  • Прокомментируйте/раскоментируйте разделы в файле web.config и обнаружите, что проблема связана с указанной DLL.

Конфигурация, которую я прокомментировал предыдущей, добавленной мной:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Добавьте требуемый файл FasterFlect.DLL, используемый Combres.DLL v2.1.0.0 в папку bin приложения (загрузите полный ZIP-код из Combres codeplex, потому что требуемая функция быстрого просмотра DLL V2.0.3732.24338 не может быть найдена в quickflect codeplex ) и другие DLL. Для удобства используйте полный Combres.DLL(1,3 МБ).
  • Убедитесь, что версии DLL и токены открытого ключа настроены правильно в web.config с помощью инструмента, например. Отражатель .NET

Ответ 7

Я понимаю, что эта ошибка может возникнуть по многим причинам. В моем случае это было из-за того, что я удалил службу WSUS из ролей сервера, и весь IIS снизился. Проведя небольшое исследование, я обнаружил, что удаление WSUS удаляет несколько dll, которые используются для сжатия HTTP. Поскольку эти dll отсутствовали, и IIS все еще искал их, я сделал reset, используя следующую команду в CMD:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

Бинго! Теперь проблема сортируется. Не забудьте запустить его как администратора. Вам также может понадобиться сделать "iisreset". На всякий случай.

Надеюсь, это поможет другим. Приветствия

Ответ 8

Включить .Net Framework 3.5 и 4.5 Advance Service на панели управления- > Программы и компоненты- > Включить или отключить функции Windows. Работаю для меня.

Ответ 9

У меня была эта проблема с совершенно новым веб-сервисом. Решил его, добавив доступ только для чтения для Everyone on Properties- > Security для папки, в которой была служба.

Ответ 10

Для меня все было связано с настройкой моего веб-сервера для использования новейшей технологии для поддержки моего приложения ASP.NET 5!

Следующий URL-адрес дал мне все необходимые советы:

https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

Надеюсь, что это поможет:)