В данной статье дается представление о
возможностях кэширования в ASP.NET.
За дополнительной
информацией о технологии ASP.NET обратитесь к следующей статье
Microsoft Knowledge Base:
Дополнительная информация
Кэш в ASP.NET представляет
собой механизм общего назначения для реализации кэширования в
веб-приложениях. Данный механизм предоставляет как простой
интерфейс кэширования, так и дополнительный расширенный
интерфейс, предоставляющий доступ к службам управления
временем хранения и модификации информации в кэше.
Кэширование чрезвычайно важно для создания высоко
производительных, масштабируемых серверных приложений.
Некоторые программные элементы, требующие значительных затрат
ресурсов для создания объекта, могут быть созданы и загружены
один раз и использоваться в течение некоторого времени, прежде
чем потребуют замены. Данные элементы сохраняются в памяти,
откуда могут быть эффективно вызваны и использованы, не требуя
при этом дополнительных затрат для их пересоздания.
Для получения дополнительной информации о возможностях
кэширования в ASP.NET обратитесь к соответствующему разделу в
документации Microsoft .NET Framework Software Development Kit
(SDK) по следующему адресу:
ASP.NET Caching Features
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconaspcachingfeatures.asp
В
технологию ASP.NET включено три возможности кэширования:
Кэширование выходных данных
Кэширование выходных данных позволяет сохранять
результаты динамической генерации страниц. При получении
последующих запросов выходной кэш отвечает на них значительно
эффективней, чем при динамическом выполнении программного кода
страниц. Кэширование выходных данных в данном случае
рассматривается как кэширование страниц.
В следующих
фрагментах программного кода показаны примеры кэширования
страниц в течение 30 секунд:
Пример для Visual
Basic .NET
<%@ Page Language="VB" %>
<%@ OutputCache Duration="30" VaryByParam="*" %>
<script runat=server>
Public Sub Page_Load()
Response.Write(DateTime.Now.ToString())
End Sub
</script>
Пример для Visual C# .NET <%@ Page Language="C#" %>
<%@ OutputCache Duration="30" VaryByParam="*" %>
<script runat=server>
public void Page_Load()
{
Response.Write(DateTime.Now.ToString());
}
</script>
Для получения дополнительной информации о кэшировании
выходных данных обратитесь к соответствующему разделу в
документации Microsoft .NET Framework Software Development Kit
(SDK) по следующему адресу:
Кэширование фрагментов
Кэширование фрагментов применяется в случае необходимости
помещения в кэш только части данных из страницы. Данная
возможность реализуется при кэшировании выходных данных
пользовательских элементов управления. Кэширование фрагментов
может применяться к панелям навигации, заголовкам и другим
подобным элементам.
Для получения дополнительной
информации о кэшировании фрагментов обратитесь к
соответствующему разделу в документации Microsoft .NET
Framework Software Development Kit (SDK) по следующему адресу:
Программный интерфейс
кэширования
Программный интерфейс кэширования позволяет
программно сохранять в памяти произвольные элементы, что дает
высвобождение и экономии времени и ресурсов, которые
потребовались бы для их повторного создания. Данный механизм
позволяет удалять из кэша элементы на основании следующих
параметров:
- Время
- Файловые зависимости
- Зависимости от ключей кэширования
Для получения
информации о кэше объектов API обратитесь к соответствующему
разделу в документации Microsoft .NET Framework Software
Development Kit (SDK) по следующему адресу:
Caching Application Requests
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconcacheapis.asp
В
технологии ASP.NET разрешено добавление, извлечение и удаление
элементов из кэша. Для получения информации о реализации
перечисленных возможностей обратитесь к соответствующим
разделам в документации Microsoft .NET Framework Software
Development Kit (SDK) по следующим адресам:
Добавление элементов в кэш
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconaddingitemstocache.asp
Получение
значений кэшируемых элементов
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconretrievingvaluesofcacheditems.asp
Удаление
элементов из кэша
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpcondeletingitemsfromcache.asp