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


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

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

Демонстрирует

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

Обсуждение

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

В файле Service.cs примера проекта службы Service, как операция GetCustomer, так и операция GetCustomers помечены с помощью AspNetCacheProfileAttribute, что указывает имя профиля кэша "CacheFor60Seconds". В файле web.config проекта службы профиль кэша 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.

Чтобы запустить пример

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

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

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

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

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

Чтобы запустить образец

  1. Откройте решение для примера интеграции кэширования ASP.NET.

  2. Нажмите Ctrl+Shift+B, чтобы построить решение.

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

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

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

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

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

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

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

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