Вопрос

Переменная пользовательской сессии

Добрый день.

Мне необходимо создать переменную, которая сохраняется в течении всей сессии пользователя (для каждого пользователя свое значение). Значение может меняться в течении сессии. 

Подскажите, пожалуйста, каким механизмом можно воспользоваться.

Можно ли где-нибудь посмотреть пример?

Как создавать и как к ней обращаться?

Нравится

2 комментария

В серверном C#-коде используют массив Page.UserConnection.SessionData. Туда с произвольным текстовым ключом пишут или читают объекты типа Dictionary<string, object>:

public virtual Guid AddFolder(Guid FolderType, Guid ParentFolderId) {
var defValues = new Dictionary &lt;string, object&gt;();
defValues.Add(Page.DataSource.Schema.HierarchyColumn.Name, ParentFolderId);
defValues.Add("FolderType",FolderType);
var newGuid = Guid.NewGuid();
Page.UserConnection.SessionData[newGuid.ToString()] = defValues;
return newGuid;
}

Если объекта Page нет, то UserConnection можно взять:

var userConnection = (UserConnection)HttpContext.Current.Session["UserConnection"];

 

На клиенте в JS есть стандартные механизмы для работы с сессиями, можно попробовать ими.

Благодарю. с sessionStorage все получилось. Супер!

Показать все комментарии