Сохранение DataSet в ViewState или состоянии сеанса

В настоящее время я храню DataSet в ViewState, но это может повлиять на производительность страницы.

Можете ли вы мне посоветовать, могу ли я использовать Session или ViewState или любую альтернативу, которая не влияет на производительность?


person mehul9595    schedule 22.02.2012    source источник


Ответы (4)


Зачем нужно хранить весь набор данных? Если нужно, сделайте это во время сеанса. Если ваш сеанс является «внутрипроцессным», объект набора данных будет храниться в памяти (вы сохраните некоторую производительность, потому что не будет сериализации).

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

Надеюсь, поможет.

person Sebastian Siek    schedule 22.02.2012

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

Cache["CacheItem1"] = "Cached Item 1";

И вот как получить переменную после:

string cachedString;
cachedString = (string)Cache["CacheItem"];
person William Proulx    schedule 18.02.2014

Хранить набор данных в состоянии просмотра или в сеансе не рекомендуется, но из двух, хранение его в сеансе определенно лучше, чем в состоянии просмотра. С тех пор сериализация / десериализация выполняется на сервере. Вместо того, чтобы отправлять сериализованные данные клиенту.

person Umair    schedule 22.02.2012

поскольку я думаю, что хранение в сеансе может вам помочь, но вам нужно подумать о следующих моментах

  1. Сколько пользователей используют ваше приложение?
  2. Каков размер набора данных? если больше, то не храните его в сеансе.

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

вы можете проверить следующие ссылки

  1. Состояние просмотра сеанса V / s
person Ravi Gadag    schedule 22.02.2012