Кэширование viewstate? - PullRequest
       14

Кэширование viewstate?

6 голосов
/ 10 августа 2010

Кэширование ViewState

Это отличная идея, но она реализована для SharePoint. Интересно, есть ли решение для обычных страниц asp.net, которое делает то же самое, кэширует состояния просмотра.

Ответы [ 2 ]

8 голосов
/ 10 августа 2010

Это на самом деле довольно просто!Вам просто нужно переопределить эти два метода на своей странице:

SavePageStateToPersistentMedium()

LoadPageStateFromPersistenceMedium()

Там вы можете получить дерево объектов ViewState, сериализовать его так, как вы хотите, и сохранить его там, где вы хотите (Session, SQL и т. Д.)и вместо того, чтобы возвращать весь сериализованный большой двоичный объект в браузер, просто верните уникальный идентификатор, который вы можете использовать, чтобы посмотреть его снова в следующий раз.*

0 голосов
/ 29 августа 2014

Вполне возможно, переопределив два следующих метода в

asp.net System.Web.UI.Page:

SavePageStateToPersistentMedium()

LoadPageStateFromPersistenceMedium()

В первом методе вам нужно проверить, существует ли ViewState в кэше, и если нет, сохранить его там, во втором методе вы можете получить его, если он уже существует.

Вы можете объединить SessionID и pageName в качестве ключа для кеша viewStateKey.

...