Идея состоит в том, чтобы создать сеанс и сохранить его в виде строки в базе данных при входе в систему, сеанс создается и получает идентификатор каждый раз, когда происходит вход в систему, однако обновление сеанса с пользовательской информацией пока не работает.Возможно, мне не хватает какой-то крошечной детали.Я новичок в MVC в целом и никогда не реализовывал сессию до этого, я взял на себя это приложение и нужно работать над ним дальше.Код страницы входа в систему не представляет никакой сложности, кроме двух входов ActionResults [Get] и [Post], один из которых предназначен для создания сеанса (работает), а другой предполагает обновление сеанса со статусом и информацией о пользователе (не работает!).Код контроллера выглядит следующим образом:
[HttpGet]
public ActionResult Login()
{
SessionAid aid = new SessionAid();
var mysession = aid.CreateSession();
if (mysession.SessionID != 0)
{
Session["mySessionId"] = mysession.SessionID;
return View();
}
else
{
return Redirect("~/error");
}
}
[HttpPost]
public ActionResult Login(Login model)
{
string username = model.username;
string password = model.password;
if (ModelState.IsValid)
{
var session= new SessionData();
Session["SessionUserID"] = model.username;
Session["LastActiveTime"] = DateTime.UtcNow;
Session["CookiesId"] = sessionData.CookieID;
if (username == "name" && password == "password")
{
return RedirectToAction("Index", "Home");
}
return View();
}
затем есть контроллер сеанса, в котором реализовано обновление таблицы сеансов с использованием метода userId и cookieId
public ActionResult SaveSession(SaveRequest saveRequest)
{
var respon = new SessionResponse();
response.Session = new SessionData
{
SessionID = updatedSession.SessionID,
CookieID = updatedSession.CookieID,
SessionUserID = updatedSession.SessionUserID,
};
response.Success = true;
}
return response;
}
Мой вопрос: как мне прочитатьsessionId, который создается в методе входа [HTTPGet] в методе входа [HttpPost], поэтому я могу обновить строку сеанса в базе данных с помощью cookieId и userID?Чего мне не хватает?