Где и как определить <customErrors mode = "on"> для моего веб-приложения asp.net MVC 3
Я хочу, чтобы ошибка custome была правдой, чтобы пользователи не могли просматривать подробную информацию о моем приложении. Но я не могу найти, где я должен написать это <customErrors mode="on">
; должен ли он быть в web.config или в Интернете, debug.config или где?
BR
Ответы
Ответ 1
Из моего опыта мы должны включить пользовательскую ошибку в режим On в режиме деблокирования и отключить ее при отладке. Чтобы автоматически сделать это, мы можем использовать преобразование web.config, как в следующем примере.
Web.Debug.config
Этот параметр позволяет веб-серверу отображать желтую страницу ASP.NET, содержащую полезные сведения об ошибках.
<customErrors mode="Off" xdt:Transform="Replace" />
Web.Release.config
С другой стороны, мы не хотим, чтобы пользователь знал техническую ошибку. Мы должны использовать пользовательскую страницу ошибок вместо желтой страницы ASP.NET.
<customErrors mode="On" xdt:Transform="Replace" />
Ответ 2
Это будет зависеть, но обычно должно быть в файле Web.config.
Для развертывания приложения используются Web.Debug.config и Web.Release.config(и другие варианты конфигурации). Когда вы выполняете операцию публикации, преобразование применяется к вашему файлу Web.config во время развертывания, что означает, что вы можете использовать определенные параметры конфигурации для настроек debug, release и других конфигураций, которые вы настроили.
Если вы обычно не выполняете операцию публикации во время разработки, вам необходимо применить этот параметр к файлу Web.config, чтобы он мог повлиять.
Подробнее о преобразовании файла Web.config см. http://msdn.microsoft.com/en-us/library/dd465318.aspx.
См. http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx для примера добавления элемента customErrors в файл Web.config.
Ответ 3
Вставьте в Web.config и создайте страницу с ошибкой для перенаправления.
В MVC у вас есть HandleErrorAttribute, пометьте его на классе для непредвиденной ошибки обработчика, запустил его и вывел страницу с ошибкой. Пользовательская ошибка - это страница по умолчанию для конкретной ошибки с известным кодом состояния.
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="/PageNotFound?" />
</customErrors>
</system.web>