Как очистить сессию, используемую в разбивке по сетке - PullRequest
0 голосов
/ 10 февраля 2012

Я реализовал разбиение на страницы в Gridview и, чтобы избежать частого переподключения с базой данных, я использовал Session для хранения данных. Так что данные можно было извлечь из сеанса при изменении индекса страницы Gridview.Но моя проблема в том, что когда мне следует очистить этот сеанс, поскольку он может использоваться только для этой самой страницы. И если я использую ViewState, то не будет хорошо, если объем данных увеличится......
Заранее спасибо
Суприя

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

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

Если вы храните свои записи в viewstate / cache, это излишне использует ресурсы и может быть не синхронизировано с базой данных. Я считаю это плохим подходом.

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

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

0 голосов
/ 10 февраля 2012

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

Таким образом, если у вас есть, скажем, 100 строк и 10 строк на странице, то вы должны извлечь 10 строк на PageChange элемента управления данными.Это вполне приемлемо, особенно в сочетании с кэшированием.

Если вы используете SQl 2005, см. Этот пост: http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx

...