У меня есть файл cookie, который устанавливается, когда пользователь обращается к странице/auth/моего приложения MVC3.Cookie становится сессией по обратной передаче
Когда пользователь отправляет данные формы обратно на сервер, я изменяю файл cookie, изменяя его значение. Затем я использую Response.Cookies.Set(mycookie);
, чтобы изменить cookie на значение mycookie.
Проблема, с которой я столкнулась, заключается в том, что когда страница сначала загружается, запрос «получить», cookie появляется как файл cookie. Получив ответ после ответа, cookie теперь появляется как сеанс с совершенно другой датой истечения срока действия.
КОД ::
[HttpGet]
public ActionResult Auth()
{
var cookie = Request.Cookies.Get(login_cookie);
if (cookie == null || string.IsNullOrEmpty(cookie.Value))
{
Response.Cookies.Add(new HttpCookie(login_cookie) { Expires = DateTime.Now.AddMinutes(5), Value = "0", HttpOnly = true, });
}
.....
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(Login loginform)
{
int attempts = 0;
HttpCookie login_cookie_data = Request.Cookies.Get(login_cookie);
....
Response.Cookies.Set(login_cookie_data);
return View();
}
Решенный
Вопросы была с машиной. Я перезагружаюсь, и он сортировал все проблемы.
Я заблудился на «печенье появляется как печенье». Во-первых, что вы называете «postback»? (в MVC такого не бывает). И что вы имеете в виду, когда «cookie теперь появляется на сессии»? – vtortola
Какое значение cookie вы меняете? Можете ли вы опубликовать код, который вы используете для этого? – markpsmith
@markpsmith Я добавил несколько примеров кода. –