powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хранение переменных в сессии mode="StateServer"
6 сообщений из 6, страница 1 из 1
Хранение переменных в сессии mode="StateServer"
    #37948604
Добрый вечер!
Запутался... Провайдер порекомендовал хранить мне данные не в in-proc, а в StateServer.
Почитал документацию и так до конца и не понял, написано, что при использовании сессии StateServer, необходимо сериадизовать объекты... Не могу понять.

Например, мне в сессии нужно хранить данные:
session("first_name")="имя"
session("last_name")="фамилия"
session("massive")="1, 23, 12, 15..." - массив чисел

Что значит сериализация? Если я выставлю в web.config хранение сессии в StateServer, смогу ли я сохранять и получать значения так же? Например мне нужно получить массив, я делаю так
переменная = Ctype(session("massive"), list of integer).

Или же мне нужно создать класс и хранить все данные в нем, обращаясь так:
session("class")=..
...
Рейтинг: 0 / 0
Хранение переменных в сессии mode="StateServer"
    #37948698
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БКонстантин,

оба подхода приемлемы
...
Рейтинг: 0 / 0
Хранение переменных в сессии mode="StateServer"
    #37948725
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БКонстантин, state server работает отдельно от процесса веб-сервера, что, в частности, означает что данные сесии не потеряются при перезапуске рабочего процесса IIS (w3wp.exe). Для того чтобы передать данные между процессами .NET должен сериализовать эти данные (гуглите .NET Serialization), то есть привести в специальную бинарную форму. Простые типы в .NET это уже умеют. Если ты сохраняешь в сессии собственные типы данных, то их надо писать так чтобы они могли быть сериализуемыми (см. атрибут Serializable). Работа с самой сессией при этом остается такой же как и раньше, менять ничего не надо. Разве что более тщательно следить за объемом сохранянемых туда данных.
...
Рейтинг: 0 / 0
Хранение переменных в сессии mode="StateServer"
    #37948733
bazileБКонстантин, state server работает отдельно от процесса веб-сервера, что, в частности, означает что данные сесии не потеряются при перезапуске рабочего процесса IIS (w3wp.exe). Для того чтобы передать данные между процессами .NET должен сериализовать эти данные (гуглите .NET Serialization), то есть привести в специальную бинарную форму. Простые типы в .NET это уже умеют. Если ты сохраняешь в сессии собственные типы данных, то их надо писать так чтобы они могли быть сериализуемыми (см. атрибут Serializable). Работа с самой сессией при этом остается такой же как и раньше, менять ничего не надо. Разве что более тщательно следить за объемом сохранянемых туда данных.

Спасибо, Вы меня прям успокоили) а массивы/списки простых чисел/строк так же не нуждаются в сериализации?
...
Рейтинг: 0 / 0
Хранение переменных в сессии mode="StateServer"
    #37948745
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БКонстантина массивы/списки простых чисел/строк так же не нуждаются в сериализации?
Неправильно вопрос ставите. В сериализации нуждается каждый тип который мы сохраняем в сессию. Просто когда мы говорим о стандартных типах .NET надо смотреть сериализуемым они или нет. Массивы и списки умеют себя сериализовывать. При условии что тип хранимый в нем умеет себя сериализовывать.
...
Рейтинг: 0 / 0
Хранение переменных в сессии mode="StateServer"
    #37948751
bazile, спасибо Вам!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хранение переменных в сессии mode="StateServer"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]