Где и как определитьдля моего веб-приложения asp.net MVC 3 - PullRequest
42 голосов
/ 15 февраля 2012

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

BR

Ответы [ 3 ]

87 голосов
/ 04 ноября 2012

Исходя из моего опыта, мы должны включить пользовательскую ошибку в положение 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" />
7 голосов
/ 15 февраля 2012

Это будет зависеть, но обычно должно быть в файле Web.config.

Web.Debug.config и Web.Release.config (и другие варианты конфигурации) используются для развертывания приложения. Когда вы выполняете операцию публикации, преобразование применяется к вашему файлу Web.config во время развертывания, что означает, что вы можете применить определенные параметры конфигурации для отладки, выпуска и других конфигураций, которые вы настроили.

Если вы обычно не выполняете операцию публикации во время разработки, вам потребуется применить этот параметр к файлу Web.config, чтобы он вступил в силу.

См. http://msdn.microsoft.com/en-us/library/dd465318.aspx для более подробной информации о преобразовании файла Web.config.

См. http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx для примера добавления элемента customErrors в файл Web.config.

5 голосов
/ 25 марта 2015

Вставьте в Web.config и создайте страницу ошибки для перенаправления.В MVC у вас есть HandleErrorAttribute, пометьте его в классе, чтобы обработать непредвиденную ошибку, зарегистрируйте его и выбросьте страницу ошибки.Пользовательская ошибка - это страница по умолчанию для конкретной ошибки с известным кодом состояния.

<system.web>
    <customErrors mode="On">
      <error statusCode="404" redirect="/PageNotFound?" />
    </customErrors>
</system.web>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...