Файлы 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);
}