Самый легкий набор / универсальный объект / объект для хранения данных в сеансе - PullRequest
2 голосов
/ 20 декабря 2011

У меня есть сценарий, в котором пользователь может установить флажки для выбора нескольких записей, которые необходимо обработать на отдельной странице. Я решил использовать сессию для хранения этих данных. Режим сеанса будет «In proc».

Я хотел знать, какая самая легкая коллекция / универсальный объект / объект для хранения, скажем, 30-40 идентификаторов (наиболее вероятно, идентификаторов Guids / уникальных идентификаторов) в сеансе ?.

Любые альтернативные подходы / шаблоны проектирования также приветствуются.

1 Ответ

4 голосов
/ 20 декабря 2011

Если список возможных записей является закрытым списком, вы можете использовать enum в качестве битового поля.
Таким образом, вы можете хранить до 64 логических значений в одном long.

Если, с другой стороны, у вас нет закрытого списка возможных значений, чем массив является самой легкой коллекцией, так как большинство других коллекций являются просто расширениями массива.

Однако вы абсолютно уверены, что должны использовать GUID? GUID являются тяжелыми и громоздкими. Единственный вариант использования, который вы должны использовать, - это когда у вас есть данные, поступающие из разных источников, и вы должны сохранять идентификаторы по мере их поступления.
Я бы посоветовал перейти на int или long, если это возможно.

...