Показать полные сообщения об ошибках при размещении приложения MVC на IIS 7.5 - PullRequest
15 голосов
/ 19 июля 2011

Я развертываю приложение MVC3 на IIS 7.5.

Есть некоторые ошибки, которые возникают только в IIS 7.5, и я пытаюсь их отладить.Однако при каждом возникновении ошибки отображается файл error.cshtml по умолчанию.

  1. Можно ли отображать подробные сообщения об ошибках, аналогично тому, как они обрабатываются в Visual Studio 2010?

  2. Как передать подробности исключений в error.cshtml при использовании атрибута OnHandleError?

Ответы [ 3 ]

33 голосов
/ 19 июля 2011

Ваш Error.cshtml вид должен принимать модель типа HandleErrorInfo.Подробную информацию об исключении можно получить из свойства Model.Exception.

Например, ваше представление может выглядеть следующим образом:

<code>@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Uh-oh, an error occurred/";
}

<h2>One of us broke the site!</h2>

@if (Model != null)
{
    <h3>@Model.Exception.GetType().Name</h3>
    <pre>
        @Model.Exception.ToString()
    

, добавленное в @ Model.ControllerName @ Model.ActionName

}
3 голосов
/ 19 июля 2011

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

2 голосов
/ 11 января 2012

Вы также можете обернуть его в чек, чтобы убедиться, что отладка включена, и всегда отображать его в комментариях HTML (чтобы он не был виден всем, кто просматривает сайт).Например,

@if (System.Web.HttpContext.Current.IsDebuggingEnabled)

{
  <!--
  <P>@Model.Exception.ToString()</P>
  -->
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...