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
Надеюсь, что это поможет:)