MVC Глобальная обработка ошибок: Application_Error, не стреляя

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

static class BaseBeanHolder {
    BaseBean[] beans;
    public BaseBeanHolder(BaseBean... beans) { this.beans = beans; }
}
11
задан shashwat 24 January 2014 в 04:56
поделиться

3 ответа

Можно попробовать этот подход за тестирование:

protected void Application_Error(object sender, EventArgs e)
{
    var error = Server.GetLastError();
    Server.ClearError();
    Response.ContentType = "text/plain";
    Response.Write(error ?? (object) "unknown");
    Response.End();
}

Web.config

<customErrors mode="Off" />
11
ответ дан 3 December 2019 в 08:57
поделиться

Я думаю лучший способ обработать, это использовало бы HandleErrorAttribute для украшения контроллера (возможно, основной контроллер). Это дало бы Вам опцию сделать вход или обработать ошибки в различных контроллерах с различными ошибками путем расширения этого атрибута и изменения его, чтобы соответствовать потребностям, сказать путем изменения представления, которое представляется. Используя этот атрибут использует стандартную обработку фильтра в MVC и создает представления использования страницы вместо того, чтобы писать непосредственно в ответ, поскольку Вы могли бы сделать использование Application_Error.

2
ответ дан 3 December 2019 в 08:57
поделиться

Я не могу сказать Вам наверняка что случилось, но я могу думать о нескольких вещах проверить... во-первых, VS повреждается на исключении? Если Вы находитесь в отладчике, это - значение по умолчанию, я думаю. Если это просто поражено F5, пока Вы не добираетесь до своего кода с точкой останова. Кроме того, Вы уверенный, что Вы не обрабатываете исключение нигде, прежде чем это доберется до Application_Error?

Другая вещь проверить - CustomErrors режим в web.config, это установлено на Off, право?

0
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: