В настоящее время я храню DataSet в ViewState, но это может повлиять на производительность страницы.
Можете ли вы мне посоветовать, могу ли я использовать Session или ViewState или любую альтернативу, которая не влияет на производительность?
В настоящее время я храню DataSet в ViewState, но это может повлиять на производительность страницы.
Можете ли вы мне посоветовать, могу ли я использовать Session или ViewState или любую альтернативу, которая не влияет на производительность?
Зачем нужно хранить весь набор данных? Если нужно, сделайте это во время сеанса. Если ваш сеанс является «внутрипроцессным», объект набора данных будет храниться в памяти (вы сохраните некоторую производительность, потому что не будет сериализации).
На вашем месте я бы проанализировал код и постарался не хранить весь набор данных ни в одном сеансе, ни в состоянии просмотра - должен быть способ оптимизировать ваш код.
Надеюсь, поможет.
Если вы хотите сохранить весь набор данных, всегда есть метод кэширования, который позволит вам хранить огромные переменные с хорошей производительностью. Вот пример того, как вы можете сохранить переменную в Cache.
Cache["CacheItem1"] = "Cached Item 1";
И вот как получить переменную после:
string cachedString;
cachedString = (string)Cache["CacheItem"];
Хранить набор данных в состоянии просмотра или в сеансе не рекомендуется, но из двух, хранение его в сеансе определенно лучше, чем в состоянии просмотра. С тех пор сериализация / десериализация выполняется на сервере. Вместо того, чтобы отправлять сериализованные данные клиенту.
поскольку я думаю, что хранение в сеансе может вам помочь, но вам нужно подумать о следующих моментах
Я предлагаю вам посмотреть на свое требование, если возможно, вы можете хранить в кеше, но это уровень приложения. как сеанс У каждого пользователя есть свой сеанс.
вы можете проверить следующие ссылки