Как заставить пользовательские страницы ошибок работать для Classic ASP с интегрированным конвейером IIS 7 - PullRequest
3 голосов
/ 06 октября 2010

Я работаю над веб-сайтом с устаревшими классическими страницами ASP (которые по мере необходимости преобразуются в ASP.NET) и новыми страницами ASP.NET.Использование IIS 7 Integrated Pipeline очень помогло с нашей конфигурацией.Например, мы смогли заставить аутентификацию форм работать автоматически с классическими страницами ASP, просто настроив соответствующие разделы файла web.config (т. Е. Никаких изменений не требовалось для страниц классического ASP, для получения дополнительной информации см. this ).

Мой коллега считает, что пользовательские страницы ошибок, указанные в разделе web.config , также должны автоматически применяться к классическим страницам ASP, но для нашегоСайт работает только для страниц ASP.NET.Также мне не удалось найти какую-либо информацию, описывающую возможность применения пользовательских страниц ошибок к Classic ASP с интегрированным конвейером IIS 7.

Можно ли применять пользовательские страницы ошибок к страницам Classic ASP за web.configдля сайта под управлением IIS7 с интегрированным конвейером?Если так, то как?

1 Ответ

3 голосов
/ 06 октября 2010

Пользовательские страницы ошибок IIS7 обрабатываются в разделе конфигурации <system.webServer>, а не в разделе <customErrors> в разделе <system.web>, который применяется только к ASP.NET:

<configuration>
    <system.webServer>
        <httpErrors>
            <error 
               statusCode="500" 
               subStatusCode="100" 
               path="/500errors.asp" 
               responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

Осторожно, хотя эти параметры конфликтуютс пользовательскими ошибками ASP.NET.Если вы работаете в .NET 3.5 и выше, вы можете установить Response.TrySkipIisCustomErrors в коде сзади страницы ошибок ASP.NET (или в контроллере ошибок при использовании MVC), чтобы IIS не перекрывал вашу страницу ошибок ASP.NET(s):

Response.TrySkipIisCustomErrors = true // ASP.NET Forms

В этой статье Рика Штраля эта проблема объясняется немного глубже:

Страницы ошибок IIS 7, содержащие более 500 ошибок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...