Где я должен хранить таблицу данных [ViewState / Session / Cache] - PullRequest
0 голосов
/ 21 апреля 2010

У меня есть DataTable с около 10000 строк в нем.

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

Я пытался использовать ViewState, но как только объем данных превышает 100 строк, производительность падает.

Где мне хранить эти данные?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2010

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

ViewState имеет более конкретное использование и не подходит для больших объемов данных, поскольку все эти данные передаются между клиентом и сервером на веб-странице.

0 голосов
/ 20 сентября 2012

Бьюсь об заклад, вы не должны отображать все данные вместе.

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

Вы можете использовать SP для этой цели http://www.mssqltips.com/sqlservertip/1699/sql-server-stored-procedures-to-page-large-tables-or-queries/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...