Я настроил веб-приложение asp.NET для использования проверки подлинности форм и сохранения сеанса в пользовательской таблице. Пока все хорошо, когда я регистрирую аутентификацию, сохраняется в сеансах браузера. Я пытаюсь схватить возможности хранения сеанса, но я столкнулся с проблемой на ранней стадии.Состояние сеанса ASP.NET SqlServer
Если я добавляю переменные/значения к объекту сеанса и выводят переменные сеанса на страницу, пары переменных/значений отображаются, как ожидалось, но когда я закрываю и снова открываю браузер, правильная перезагрузка сеанса, как и ожидалось (который я подтверждаю, выведя sessionid), но пары переменных/значений исчезли.
Есть ли что-то очень простое, я здесь отсутствует, так как я понимаю, что переменные сеанса также должны быть доступны в сеансах браузера (строки можно сериализовать правильно?).
List<SessionVar> sessionVars = new List<SessionVar>();
protected void Page_Load(object sender, EventArgs e)
{
Session[Session.SessionID] = Session.SessionID;
LoadSessionData();
}
protected void btnSessionVariable_Click(object sender, EventArgs e)
{
Session[txtVariableName.Text.Trim()] = txtVariableValue.Text.Trim();
txtVariableName.Text = string.Empty;
txtVariableValue.Text = string.Empty;
LoadSessionData();
}
private void LoadSessionData()
{
sessionVars.Clear();
foreach (string key in Session.Keys)
{
sessionVars.Add(new SessionVar(key, (string)Session[key]));
}
gridView.DataSource = sessionVars;
gridView.DataBind();
}