Способы управления страницы кэширование выходных данных в ASP.NET с помощью Visual C#.NET

Переводы статьи Переводы статьи
Код статьи: 308375 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В этой статье показано, как использовать @ OutputCache директивы для управления кэширование выходных данных страницы в ASP.NET с помощью Visual C#.NET. Эту методику можно использовать для кэширования веб-узла часто доступ к страниц, которые могут существенно увеличить пропускную способность веб-сервера. Пропускная способность обычно измеряется в секунду. Хотя образец код в этой статье показано, как использовать Длительность и VaryByParam атрибуты, также приведено краткое описание другие подходы, которые можно использовать с @ OutputCache директива.

ПРИМЕЧАНИЕ: Это не намерение в этой статье описаны все @ OutputCache атрибутам директивы и их возможное использование подробно. Для получения дополнительных сведения, обратитесь к Ссылкираздел.


Требования

  • Microsoft Windows 2000 или Windows XP
  • Корпорация Майкрософт.NET Framework
  • Microsoft Internet Information Server (IIS)
  • Microsoft ASP.NET

Введение в @ OutputCache директивы

Для использования @ OutputCache директивы для управления кэшированием вывода страниц, необходимо просто добавить директивы в верхнюю часть страницы. В Page.InitOutputCache метод переводит директивы в HttpCachePolicy методы класса.

В @ OutputCache Директива содержит следующие атрибуты и параметры:
  • Длительность: Этот атрибут указывает продолжительность элемента в кэше. Значение для Длительность указанное в секундах.
  • VaryByParam: Этот атрибут определяет записи кэша Получить -или- POST параметры. Например если Строка запроса переменная с именем testVal Задайте для VaryByParam атрибут, каждый запрос страницы, содержащей различные значения дляtestVal кэшируется на отдельной странице. Следующий код иллюстрирует синтаксис VaryByParam атрибут:
    <%@ OutputCache Duration="Seconds" VaryByParam="testVal"%>
    						
    ПРИМЕЧАНИЕ: Можно указать звездочку (*) таким образом, чтобы все различные версии номенклатуры, кэшируются. Кроме того, можно указать «нет», если только одна версия существует кэшированного элемента.
  • Расположение: Этот атрибут определяет, где элемент должен быть помещен в кэш. Вы можно задать следующие расположения:
    • Любой
    • Клиент
    • Нижестоящие
    • Сервер
    • Нет

    Следующий код иллюстрирует синтаксис Расположение атрибут:
    <%@ OutputCache Duration="Seconds" Location="Client" %>
    					
  • VaryByCustom: Этот атрибут содержит значение по умолчанию Обозреватель, что означает, что другой экземпляр элемента будет помещена в кэш каждой версии, который его запрашивает. Например оба Интернета Explorer 5 и Internet Explorer 5.5 запрос элемента. Когда VaryByCustom имеет значение Обозреватель, существует запись кэша для каждой версии обозревателя. Вы не можете Предоставление строки для управления кэшированием для других пользовательских сценариев. Строка не поддерживает все означает, если не предоставить код для переопределения HttpApplication.GetVaryByCustomString метод в файле Global.asax.

    Следующий код иллюстрирует синтаксис для VaryByCustom атрибут:
    <%@ OutputCache Duration="Seconds" VaryByCustom="string" %>
    					
  • VaryByHeader: Этот атрибут позволяет указать определенного заголовка HTTP значение, что и критерии, определяющие различные кэш записи. Следующий код иллюстрирует синтаксис для VaryByHeader атрибут:
    <%@ OutputCache Duration="60" VaryByHeader="Accept-Language" %>
    					

Шаги по созданию примера @ OutputCache длительность

Следующие шаги демонстрируют, как использовать Длительность выходной атрибут для страницы кэширование, чтобы указать, как долго для кэша элемент.
  1. Создайте новый проект ASP.NET веб-приложения проекта как показано ниже:
    1. Откройте среду Visual Studio.NET.
    2. Из Файл Выберите пункт Новый, а затем нажмите кнопку Проект.
    3. В Новый проект диалоговое окно, нажмите кнопку Проекты Visual C# Из списка Типы проектови нажмите кнопку ASP.NET веб-приложения Из списка Шаблоны. В Имя текстовое поле, тип OutputCacheDemo, а затем Нажмите кнопку ОК.
  2. Создание новой страницы .aspx в Visual Studio.NET происходит следующим образом:
    1. В обозревателе решений щелкните правой кнопкой мыши узел проекта Нажмите кнопку Добавить, а затем нажмите кнопку Добавление веб-формы.
    2. В Имя текстовое поле, тип OutputCacheDuration.aspx, и выберите команду Открыть.
  3. Удалите код по умолчанию, Visual Studio.NET добавляет страницы.
  4. Выделить следующий код, щелкните правой кнопкой код и Нажмите кнопку Копировать. В Visual Studio.NET, нажмите кнопку Вставить как HTML В меню Редактирование меню, чтобы вставить код в ASPX-страницу:
    <%@ OutputCache Duration="20" VaryByParam="none"%>
    <HTML>
       <HEAD>
       <script language="C#" runat="server">
       void Page_Load(object sender, EventArgs e) 
       {	
          Label1.Text = "Time: " + DateTime.Now.TimeOfDay.ToString();
       }
       </script>
       </HEAD>
       <body>
          <STRONG>@ OutputCache Duration Sample</STRONG>
          <hr>
          <br>
          <asp:Label id="Label1" runat="server">Label</asp:Label>
          <br>
       </body>
    </HTML>
    					
  5. Из Файл меню, нажмите кнопку Сохранение OutputCacheDuration.aspx Чтобы сохранить страницу.
  6. Из Построение Выберите пункт меню в интегрированной среде разработки (IDE), Построение.
  7. Чтобы запустить образец, щелкните правой кнопкой мыши OutputCacheDuration.aspx в обозревателе решений и выберите команду Просмотр в обозревателе.
  8. После появления страницы в обозревателе, запомните время, которое отображается в метке.
  9. Обновите страницу в обозревателе. Обратите внимание, что время так же, как было ранее. Если после обновления страницы после 20 секунд параметр срока истечения, вновь кэшированную версию страницы отображается.

    ПРИМЕЧАНИЕ: Если при просмотре страницы в внешнего обозревателя, можно Нажмите клавишу F5, чтобы обновить страницу. При просмотре страницы в визуальный элемент Studio.Внутренний обозреватель NET IDE, можно щелкнуть правой кнопкой мыши страницу и выберите команду Обновить Чтобы обновить страницу.

Шаги для создания @ OutputCache VaryByParam образца

Следующие шаги демонстрируют, как использовать VaryByParam атрибут для страницы выходного кэширования позволяет для различных кэширования версии страницы должен существовать на основе значения одного из его Строка запроса значения переменных.
  1. Создание новой страницы .aspx в Visual Studio.NET происходит следующим образом:
    1. В обозревателе решений щелкните правой кнопкой мыши узел проекта Нажмите кнопку Добавить, а затем нажмите кнопку Добавление веб-формы.
    2. В Имя текстовое поле, тип OutputCacheVaryByParam.aspx, а затем нажмите кнопку Открыть.
  2. Удалите код по умолчанию, Visual Studio.NET добавляет страница по умолчанию.
  3. Выделить следующий код, щелкните правой кнопкой код и Нажмите кнопку Копировать. В Visual Studio.NET, нажмите кнопку Вставить как HTML В меню Редактирование меню, чтобы вставить код в ASPX-страницу:
    <%@ OutputCache Duration="20" VaryByParam="testVal"%>
    <HTML>
       <HEAD>
          <script language="C#" runat="server">
       void Page_Load(object sender, EventArgs e) 
       {	
          Label1.Text = "Time: " + DateTime.Now.TimeOfDay.ToString();
       }
       </script>
       </HEAD>
       <body>
          <P>
             <STRONG>@ OutputCache VaryByParam Sample</STRONG>
          </P>
          <P>
             <hr>
          </P>
          <P>
             <br>
             <asp:Label id="Label1" runat="server"></asp:Label>
             <br>
             <hr>
             <a href=http://yourservername/OutputCacheDemo/OutputCacheVaryByParam.aspx?testVal=123">testVal(123)</a>
             <br>
             <a href=http://yourservername/OutputCacheDemo/OutputCacheVaryByParam.aspx?testVal=345">testVal(345)</a>
          </P>
       </body>
    </HTML>
    						
    ПРИМЕЧАНИЕ: Необходимо изменить две гиперссылки в приведенном выше коде к отражает имя веб-сервера. Кроме того, можно заметить, что VaryByParam атрибут имеет значение различаться в зависимости от значения Строка запроса Переменная testVal. В результате вывода кэширования для каждого экземпляра в страницы который Строка запроса значения для переменной testVal такой же.
  4. Из Файл меню, нажмите кнопку Сохранение OutputCacheVaryByParam.aspx Чтобы сохранить страницу.
  5. Из Построение Выберите пункт меню в интегрированной среде разработки Построение.
  6. Чтобы запустить образец, щелкните правой кнопкой мыши OutputCacheVaryByParam.aspx в обозревателе решений и выберите команду Просмотр в обозревателе.
  7. Страница откроется в обозревателе, нажмите кнопку testVal(123). В этом случае обозреватель, перейдите на страницу, но с Строка запроса Переменная testVal значение «123». Запомните время, которое появится.
  8. Нажмите кнопку testVal(123) еще раз. Обратите внимание на то, что время такой же, как и ранее. В вывод страницы кэшируется на основе testVal значение переменной.
  9. Нажмите кнопку testVal(345). Обратите внимание, что на странице появляется новое время.
  10. Нажмите кнопку testVal(345) еще раз. Обратите внимание, что предыдущий вывод страницы кэшируется и Откроется в обозревателе.
  11. Нажмите кнопку testVal(123) Чтобы вернуться к первому экземпляру. Обратите внимание, что разные страницы отображается версий кэша вывода, основываясь на предоставленной Строка запроса значение переменной.

Устранение неполадок

  • При использовании VaryByParam, имейте в виду, который изменяется на Строка запроса переменной case результат в кэш дополнительные операции.
  • Имейте в виду, что Длительность указывается в секундах.
  • При использовании VaryByCustom и переопределение HttpApplication.GetVaryByCustomString файл метод в файле Global.asax, значение по умолчанию Обозреватель Если совпадение не найдено для пользовательской строки в состав атрибута.

Ссылки

Дополнительные сведения о кэширования вывода страницы можно найти следующие веб-узлы корпорации Майкрософт:
Страница GotDotNet выходного кэширования учебника
Корпорация Майкрософт.NET Framework пакет средств разработки программного обеспечения (SDK)
http://msdn2.Microsoft.com/en-us/library/ms950382.aspx

Кэширование страниц ASP.NET страниц
http://msdn2.Microsoft.com/en-us/library/xsbfdd8c (vs.71) .aspx

@ OutputCache
http://msdn2.Microsoft.com/en-us/library/hdxfb6cy (vs.71) .aspx

Свойства

Код статьи: 308375 - Последний отзыв: 6 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Ключевые слова: 
kbcaching kbhowtomaster kbio kbmt KB308375 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:308375

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com