Файлы cookie Asp.Net MVC при исключении

У меня довольно странная проблема. Надеясь, что кто-нибудь может пролить свет, так как я нигде не мог найти ответ.

Сценарий: вызывается действие контроллера и возникает исключение. В то же время я добавляю новый файл cookie в Response.Cookies.

Но cookie-файл с ответом не отправляется (даже в Fiddler).

Интересно то, что тот же сценарий работал для меня раньше в веб-формах с использованием универсального обработчика.

Какие-нибудь мысли?

Фрагмент кода

[HttpGet]
public FileContentResult MyAction()
{
    HttpCookie newCookie = new HttpCookie("error-exc", "error") { HttpOnly = false };
    this.HttpContext.Response.Cookies.Add(newCookie);

    throw Exception("test");
}

1 ответ

Решение

Один из способов убедиться, что ваш файл cookie отправлен клиенту, - переопределить виртуальный метод OnException() в вашем контроллере:

protected override void OnException(ExceptionContext filterContext) {
    filterContext.ExceptionHandled = true;
    filterContext.HttpContext.Response.StatusCode = 500;
    filterContext.HttpContext.Response.StatusDescription = "Internal server error";
    // whatever...
    base.OnException(filterContext);    
}
Другие вопросы по тегам