Добавление пользовательской ошибки 401 в system.webServer.httpErrors приводит к ошибке «Невозможно начать отладку на веб-сервере» - PullRequest
4 голосов
/ 25 ноября 2011

Я начал с пустого веб-приложения MVC 3. Я создал новый веб-сайт в своем локальном IIS для localhost: 80 и настроил свой новый проект MVC 3 на использование этого веб-сервера вместо веб-сервера разработки VS. На этом этапе я могу запустить и отладить проект как обычно. Но если я добавляю это в свой файл web.config, я получаю сообщение об ошибке «Невозможно начать отладку на веб-сервере». Я могу выбрать Пуск без отладки, и он работает нормально. В чем дело?

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <httpErrors errorMode="Custom" existingResponse="Replace">
        <remove statusCode="401"/>
        <error statusCode="401" responseMode="ExecuteURL" path="/Error401" />
    </httpErrors>
</system.webServer>

Ответы [ 2 ]

0 голосов
/ 27 ноября 2013

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

Ранее я заметил, что проблемы с сертификатом могут вызвать аналогичную ошибку.Очевидно, что отладчик не видит чего-то ожидаемого и в результате не работает.

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

0 голосов
/ 25 ноября 2011

httpErrors - это новый элемент, который используется только IIS7.Это кажется немного странным, однако попробуйте добавить следующее в веб-конфигурацию под system.web section:

<customErrors mode="RemoteOnly"  defaultRedirect="~/error">
    <error statusCode="401" redirect="~/Error401" />
</customErrors>
...