Я столкнулся с этой проблемой и воодушевленный ответом @ Джереми Кука, я укусил пулю, чтобы выяснить, что, черт возьми, заставило интегрированный режим IIS 7 не нравиться моему web.config.Вот мой сценарий:
- Веб-API (версия 4.0.030506.0, он же старый)
- .NET 4.0
- Маршрутизация атрибутов 3.5.6 для веб-API [spoilerпредупреждение: это был этот парень!]
Я хотел использовать маршрутизацию атрибутов в проекте, который (к сожалению) должен был использовать .NET 4 и, следовательно, не мог использовать Web API 2.2 (который требует .NET 4.5).Пакет NuGet с хорошим смыслом добавил этот раздел в раздел <system.web>
:
<system.web>
<httpHandlers>
<add verb="*" path="routes.axd" type="AttributeRouting.Web.Logging.LogRoutesHandler, AttributeRouting.Web" />
</httpHandlers>
</system.web>
[Я правильно говорю, потому что эта часть требуется в более старых версиях IIS]
Удаление этого разделазаставил меня пройти HTTP 500.23 !!
Резюме: Я повторяю слова Джереми о том, что важно понять, почему что-то не работает, а не просто "маскировать симптом".Даже если вам нужно замаскировать симптом, вы знаете, что делаете (и почему): -)