Интеграция кэширования ASP.NET
В этом образце демонстрируется использование выходного кэша ASP.NET в модели веб-программирования WCF HTTP . Образец Основная служба ресурсов показывает резидентную версию этого сценария, в нем подробно рассматривается реализация службы. В этом разделе основное внимание уделено функции интеграции выходного кэша ASP.NET.
Демонстрации
Интеграция с выходным кэшем ASP.NET
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\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, который используется клиентом и службой.
Во время выполнения клиентского консольного приложения клиент совершает запросы к службе и выводит в окно консоли нужные сведения из ответов.
Выполнение образца
Откройте решение для образца ASP.NET Caching Integration .
Нажмите клавишу F6 для построения решения.
Если окно Обозреватель решений не открыто, нажмите клавиши CTRL+W+S.
В окне Обозреватель решений щелкните правой кнопкой мыши проект Service и выберите Запустить новый экземпляр. Запускается сервер разработки ASP.NET, на котором размещается служба.
В окне Обозреватель решений щелкните правой кнопкой мыши проект Client и выберите Запустить новый экземпляр.
На клиенте открывается окно консоли с URI запущенной службы и URI HTML-страницы справки для запущенной службы. HTML-страницу справки можно просмотреть в любой момент времени, введя URI этой страницы в веб-обозревателе.
Во время работы образца клиент записывает состояние текущего действия.
Чтобы завершить клиентское консольное приложение, нажмите любую клавишу.
Чтобы прекратить отладку службы, нажмите клавиши SHIFT+F5.
В области уведомлений Windows щелкните правой кнопкой мыши значок сервера разработчика ASP.NET и выберите пункт Остановить.