Поделиться через


Интеграция кэширования ASP.NET

В этом образце демонстрируется использование выходного кэша ASP.NET в модели веб-программирования WCF HTTP . Образец Основная служба ресурсов показывает резидентную версию этого сценария, в нем подробно рассматривается реализация службы. В этом разделе основное внимание уделено функции интеграции выходного кэша ASP.NET.

Демонстрации

Интеграция с выходным кэшем ASP.NET

Ee960171.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WCF\Basic\Web\AspNetCachingIntegration

Обсуждение

В этом образце AspNetCacheProfileAttribute используется вместе с выходным кэшем ASP.NET для службы Windows Communication Foundation (WCF). Атрибут AspNetCacheProfileAttribute применяется к операциям службы и предоставляет имя профиля кэша для файла конфигурации, который будет использован для ответов из заданной операции.

В файле Service.cs из образца проекта Service как операция GetCustomer, так и операция GetCustomers имеют атрибут AspNetCacheProfileAttribute, который предоставляет имя профиля кэша «CacheFor60Seconds». В файле Web.config проекта Service профиль кэша «CacheFor60Seconds» находится под элементом <caching> строки <system.web>. Для этого профиля кэша значение атрибута duration равно 60, поэтому ответы, связанные с этим профилем, сохраняются в выходном кэше ASP.NET в течение 60 секунд. Кроме того, для этого профиля кэша атрибут varmByParam имеет значение «format», поэтому ответы на запросы с другими значениями для параметра строки запроса format кэшируются отдельно. Наконец, атрибут профиля кэша varyByHeader имеет значение «Accept», поэтому ответы на запросы с другими значениями заголовка Accept кэшируются отдельно.

В файле Program.cs из проекта «Клиент» показывается, как можно разработать клиент с помощью HttpWebRequest. Заметьте, что это лишь один из способов доступа к WCF-службе. Также возможен доступ к службе с помощью других классов .NET Framework, например фабрики каналов WCF и WebClient. В других образцах из пакета SDK (например, образец Базовая служба HTTP и образец Автоматический выбор формата) показано, как использовать эти классы для связи со службой WCF.

Выполнение образца

Этот образец состоит из трех проектов.

  • Service: Проект веб-приложения, в который включена служба WCF HTTP, размещенная в ASP.NET.

  • Клиент: Проект консольного приложения, вызывающий службу.

  • Common: Общая библиотека, содержащая тип Customer, который используется клиентом и службой.

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

Выполнение образца

  1. Откройте решение для образца ASP.NET Caching Integration .

  2. Нажмите клавишу F6 для построения решения.

  3. Если окно Обозреватель решений не открыто, нажмите клавиши CTRL+W+S.

  4. В окне Обозреватель решений щелкните правой кнопкой мыши проект Service и выберите Запустить новый экземпляр. Запускается сервер разработки ASP.NET, на котором размещается служба.

  5. В окне Обозреватель решений щелкните правой кнопкой мыши проект Client и выберите Запустить новый экземпляр.

  6. На клиенте открывается окно консоли с URI запущенной службы и URI HTML-страницы справки для запущенной службы. HTML-страницу справки можно просмотреть в любой момент времени, введя URI этой страницы в веб-обозревателе.

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

  8. Чтобы завершить клиентское консольное приложение, нажмите любую клавишу.

  9. Чтобы прекратить отладку службы, нажмите клавиши SHIFT+F5.

  10. В области уведомлений Windows щелкните правой кнопкой мыши значок сервера разработчика ASP.NET и выберите пункт Остановить.