Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 233

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 227 228 229 230 231 232 < 233 > 234 235 236 237 238 239 .. 260 >> Следующая

Свойство ViewState не рассчитано на хранение любых данных, а только тех, которые ASP.NET может сериализовать. Разрешается записывать значения с простым типом данных, например строки и целые числа, а вот с универсальным типом данных Object записать нельзя, поскольку ASP.NET не умеет сохранять и создавать экземпляры таких объектов. В свойство ViewState можно записывать классы, поддерживающие интерфейс liieriaiizahie например объекты Dai iSei и
Хранение сведений о состоянии на стороне Web-сервера
ASP.NET также предоставляет различные параметры хранения сведений о состоянии на стороне Web-сервера.
Свойство Session
У класса Page есть свойство Session, возвращающее экземпляр класса
Как и в случае со свойством ViewState. в свойстве Session страницы разрешается
хранить данные. Однако они хранятся на стороне сервера, а не передаются браузеру вместе с HTML-кодом страницы.
ASP.NET поддерживает параметры, хранящиеся в свойстве 5да?о.».\ до -;зкср пг ния пользовательского сеанса. Кроме того, эти параметры хранятся отдельно от аналогичных параметров других сеансов. Таким образом, информация в свойстве Session страницы уникальна для конкретного сеанса.
542 Часть Создание эффективных приложений с использованием AOG.NET
Преимущества
Поскольку хранение данных осуществляется Web-сервером, а не браузером, гарантируется защита этих данных. Пользователю не удастся средствами браузера просмотреть или изменить содержимое объекта Session. Кроме того, поскольку данные хранятся на сервере, объект Session можно использовать независимо от параметров клиента.
Недостатки
Хранение сведений о состоянии с использованием свойства Session снижает масштабируемость кода на ASP.NET, поскольку при этом для каждого сеанса приложения требуются определенные ресурсы.
Скажем, пользователь ищет товар в каталоге, и вы сохраняете результаты этого поиска в свойстве Session, чтобы пользователь мог перемещаться по ним, не выполняя при открытии новой страницы повторно один и тот же запрос. Прикиньте, сколько памяти потребуется для хранения результатов запроса. 5 кбайт? 50? 500? Теперь умножьте этот объем на число клиентов, использующих данную возможность вашего Web-приложения. 10 клиентов? 100? [GOTO Еще больше? Оцените общий объем ресурсов сервера, который понадобится вам при хранении сведений о состоянии с использованием свойства Session.
Объект Application
Объект Application аналогичен Session за исключением того, что данные,
доступные через свойство страницы, совместно используются всеми
сеансами. Таким образом, данные объекта доступны всем клиентам.
Преимущества
Как и объект Session, объект Application обеспечивает высокий уровень защиты
хранимых в нем данных. Это связано с тем, что данные находятся на сервере и объект можно использовать независимо от параметров браузера.
Поскольку данные в объект Application глобальны для всех сеансов приложения, этот объект идеально подходит для хранения неизменяемых данных, задействованных во всех сеансах, например списка категорий товаров.
Недостатки
Данные в объекте Application используют ресурсы сервера, и увеличение их объема может отрицательно сказаться на производительности вашего приложения.
Объект Cache
Объект Page предоставляет свойство Cache, возвращающее экземпляр объекта Cache.
Объект Cache похож на объект Application с повышенной надежностью. Данные объекта Cache доступны всем сеансам приложения. Просматривают и изменяют
содержимое объекта Cache, как и содержимое объекта Application, однако когда
вы добавляете в объект Cache элемент данных с помощью метода Add или он предоставляет следующую функциональность:
• разрешается указать время удаления элемента из кэша, задав конкретное (Date-Time) или относительное (TiitieSjicni значение;
ГЛАВА 14 Создание эффективных Web-приложений 543
• можно задать значение свойства СясЬ&В:фияя.япсу.. чтобы при изменении за-жсч»а/« элемента добавленный езми элемент данных удалялся из кэша. Или же определить значение свойства ib-L'i'ivn<ki:u:y чтобы элемент удалялся из кэша при редактировании содержимого конкретного XML-файла;
• допустимо указать функцию обратного вызова, к которой обратится ASP.NET при удалении элемента из кэша;
• объект/.'^йзс обладает теми же преимуществами и недостатками, что и объект
за исключением того, что предоставляет дополнительные возможности удаления данных из кэша.
Кэширование вывода
Представьте, что в левой части всех страниц вашего Web-приложения отображается список разделов узла. Например, список категорий товаров или просто список страниц. Предположим, что данные для построения этого списка хранятся где-то в БД и редко изменяются.
Эти данные можно выбрать в объекте DataSet я поместить его в объект Application. Таким образом, ASP.NET-коду не придется каждый раз выбирать эти данные при выводе новой страницы. Всронтж >. это значительно снизит объем сете-трафика, однако при выводе новой страницы вы будете по-прежнему преобразовывать содержимое DataSet в HTML-код.
ASP.NET предлагает изящное решение данной проблемы: кэширование вывода. Можно кзшировать вывод, представляющий страницу или ее часть. Или же полностью или частично кэшировать вывод с кодом страницы на основе параметров. Если вам нужно кэшировать HTML-данные с кодом странице, не преми-
Предыдущая << 1 .. 227 228 229 230 231 232 < 233 > 234 235 236 237 238 239 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100