Я не вижу ничего плохого в вашем коде и не могу воспроизвести поведение, которое вы описываете.По умолчанию сеансы отслеживаются с помощью файлов cookie, поэтому убедитесь, что вы включили файлы cookie в своем браузере, иначе он может создавать новый сеанс для каждого запроса.
Также убедитесь, что вы сохраняете значение в сеансе или в файле cookie сеанса.не будет создан.Возьмем, к примеру, следующий контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = base.Session.SessionID;
return View();
}
public ActionResult About()
{
return View();
}
}
Сначала перейдите к действию Home
, затем перейдите к About
, и когда вы вернетесь к Home
, идентификатор сессии изменится.Это нормально, поскольку ничего не было сохранено в сессии.Если вы просто установите какое-либо значение Session["foo"] = "bar";
, оно будет работать, так как файл cookie сеанса будет установлен сервером.