Подтвердить что ты не робот

Где и как определить <customErrors mode = "on"> для моего веб-приложения asp.net MVC 3

Я хочу, чтобы ошибка custome была правдой, чтобы пользователи не могли просматривать подробную информацию о моем приложении. Но я не могу найти, где я должен написать это <customErrors mode="on">; должен ли он быть в web.config или в Интернете, debug.config или где?

BR

4b9b3361

Ответ 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>