ASP.Net файлы cookie MVC не сохраняются
По сути, я пытаюсь установить cookie после входа пользователя в систему, чтобы сохранить свое имя пользователя при следующем входе в систему. Вот мой код для установки cookie. Когда я смотрю на файлы cookie сайта в Firefox, как только файл cookie установлен, он показывает файл cookie sessionID, но не тот, который я только что установил. Когда я проверяю заголовки в Fiddler, я не вижу, как он устанавливает cookie, только мой cookie sessionID.
HttpCookie hc = new HttpCookie("username", model.UserName);
hc.Expires = DateTime.Now.AddYears(1);
System.Web.HttpContext.Current.Request.Cookies.Add(hc);
вот где я проверяю, чтобы увидеть, если cookie существует.
if (System.Web.HttpContext.Current.Request.Cookies["username"] != null)
вот полный контекст рассматриваемых методов
public ActionResult LogOn()
{
if (System.Web.HttpContext.Current.Request.Cookies["username"] != null)
return View(new LogOnModel { UserName = System.Web.HttpContext.Current.Request.Cookies["username"].Value });
else
return View();
}
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
HttpCookie hc = new HttpCookie("username", model.UserName);
hc.Expires = DateTime.Now.AddYears(1);
System.Web.HttpContext.Current.Request.Cookies.Add(hc);
FormsService.SignIn(model.UserName, model.RememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
return View(model);
}