Как перенаправить на действительную страницу, если получено «Ресурс не может быть найден»? Пожалуйста, предложите

#web-services #iis #asmx #.net-framework-version #iis-10

#веб-службы #iis #asmx #.net-framework-version #iis-10

Вопрос:

У меня есть требование перехватить это исключение или показать какой-либо журнал, если просмотреть с недопустимым именем файла ниже :

http://localhost/ABC/xyx.asmx

Ошибка сервера в приложении ‘/’.

Ресурс не может быть найден. Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, его имя было изменено или временно недоступен. Пожалуйста, просмотрите следующий URL-адрес и убедитесь, что он написан правильно.

Запрошенный URL: /.asmx

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; ASP.NET Версия: 4.8.4261.0

Ответ №1:

В web.config у вас есть два метода для настройки страницы ошибок.

Когда ошибка вызвана IIS или любым другим, но не asp.net , IIS покажет страницу ошибок, подобную этой. Эта страница не содержит сообщения об ошибке.
На этой странице должно отображаться подробное сообщение об ошибке

Если вы хотите их изменить, проверьте пользовательские страницы ошибок в модуле страниц ошибок. Затем удалите существующий код состояния и соответствующий путь к странице и добавьте новый. введите описание изображения здесь

Когда ошибка вызвана asp.net , IIS покажет страницу ошибки, подобную yello screen of death (YSOD). Вы можете изменить это в разделе. Если вы хотите показать пользовательскую страницу с ошибкой удаленному посетителю, а YSOD — локальному посетителю, вы можете установить режим RemoteOnly. Вы можете настроить это в модуле .NET Error Pages.


введите описание изображения здесь

Комментарии:

1. Спасибо за ваш вклад. Я столкнулся с проблемой «Ресурс не найден». Он не показывает страницы ошибок, связанные с IIS. Является ли IIS выдает эту ошибку? Если я хочу перенаправить на действительную страницу, каким будет решение? Пожалуйста, предложите.

2. Я думаю, что ваша ошибка вызвана IIS, страница YSOD. Итак, вы можете установить <CustomError defaultRedirect=»xxxx»>, и в этом подразделе речь идет о коде состояния, таком как <ошибка StatusCode=»404″ redirect=»xxxxx» /> . Вы можете следовать этому документу , чтобы установить.