По умолчанию или пользовательская страница ошибки? - Пользовательская ошибка WebConfig defaultRedirect
Подготовка к экзамену. Получаете ли вы страницу с ошибкой по умолчанию, если не указали код ошибки внутри customError?
Я думал, так как у вас установлен defaultRedirect, все ошибки, независимо от того, были ли они учтены, специально отправляются на страницу defaultRedirect. Однако вопросы практики, которые я видел, говорят об обратном. Я посмотрел на документацию, и я могу видеть только то, что она ссылается на значение по умолчанию, если пользовательская страница не существует
<customErrors mode="On" defaultRedirect="Error.htm">
<error statusCode="500" redirect="/CustomError.html"/>
</customErrors>
Оригинальный вопрос
При возникновении ошибки на уровне 400 отображается страница ошибки ASP.NET по умолчанию. [Истина / Ложь]
Я считаю, что это неверно, ответы говорят, что это правда.
1 ответ
Получаете ли вы страницу ошибки по умолчанию, если не указали код ошибки внутри customError?
Да. Если вы не укажете код ошибки внутри customError, будет использоваться страница ошибок по умолчанию. если вы укажете код ошибки внутри customError, будет использоваться указанная страница. Конечно, customError применяется только к элементам, обрабатываемым ASP.NET, поэтому возможно, что вы получите страницу с ошибкой IIS вместо всего, что указано в файле web.config.
Из документации, на которую вы ссылаетесь,
Когда вы определяете пользовательскую ошибку, ASP.NET присваивает ей стандартную ошибку, обычно создаваемую базовой службой, такой как IIS. Например, если вы определяете пользовательскую ошибку для кода состояния 404, ASP.NET будет выдавать ее каждый раз, когда вы обращаетесь к несуществующей странице ASPX. Пользовательские ошибки выдаются только для тех элементов, которые обрабатываются ASP.NET. Например, если вы ссылаетесь на несуществующую страницу.htm, IIS выдает стандартную ошибку 404.
Чтобы ответить на конкретный вопрос, который вы задали,
При возникновении ошибки на уровне 400 отображается страница ошибки ASP.NET по умолчанию. [Истина / Ложь]
Это верно, поскольку в файле web.config нет страниц, указанных для 400-уровневой ошибки, поэтому используется страница ошибок по умолчанию. Это предполагает, что ошибка происходит в приложении ASP.NET.