На веб-странице 2 ссылки. ДОМ И ВХОД. Мой пользователь говорит мне, что HOME использовал, чтобы доставить ее прямо на страницу в приложении. Поведение для HOME теперь такое же, как и для LOGIN.
Я посмотрел код и обнаружил, что для достижения этого используется какое-то управление файлами cookie.
Вот фрагмент кода, которыйсохраняет куки в браузере, если на странице установлен флажок.
if (remember != "")
{
HttpCookie cookieRememberMe = new HttpCookie("RememberMe") {Value = remember};
this.ControllerContext.HttpContext.Response.Cookies.Add(cookieRememberMe);
HttpCookie cookieCustomerId = new HttpCookie("CustomerId") {Value = ViewBag.CustomerId.ToString()};
this.ControllerContext.HttpContext.Response.Cookies.Add(cookieCustomerId);
if (Response != null)
{
Response.Cookies["CustomerId"].Value = cookieCustomerId.Value;
Response.Cookies["CustomerId"].Expires = DateTime.Today.AddDays(30);
Response.Cookies["RememberMe"].Value = cookieRememberMe.Value;
Response.Cookies["RememberMe"].Expires = DateTime.Today.AddDays(30);
}
}
Когда пользователь нажимает на домашнюю страницу, он должен увести этого пользователя с экрана входа в систему, но он остановилсяработает. Вот код, когда пользователь нажимает кнопку HOME.
public ActionResult Index()
{
Session["LoggedIn"] = false;
Session["CustomerId"] = 0;
if (Request.Cookies.AllKeys.Contains("CustomerId") && Request.Cookies.AllKeys.Contains("RememberMe"))
{
if (Request.Cookies["CustomerId"].Expires >= DateTime.Now)
{
var cid = Request.Cookies["CustomerId"].Value;
var u = Request.Cookies["RememberMe"].Value;
if (u != "")
{
Session["LoggedIn"] = true;
Session["CustomerId"] = cid;
return RedirectToAction("PaymentHistory", "Home");
}
}
}
return View();
}
Отладка кода приводит меня к мысли, что файлы cookie сохраняются, но дата окончания срока действия файла cookie не соблюдается. Код не должен был работать в этом случае, но она говорит, что код работал все время и теперь перестал работать.