Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере 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: Общая библиотека, содержащая тип клиента, используемый клиентом и службой.
Во время выполнения клиентского консольного приложения клиент совершает запросы к службе и выводит в окно консоли нужные сведения из ответов.
Чтобы запустить образец
Откройте решение для примера интеграции кэширования ASP.NET.
Нажмите Ctrl+Shift+B, чтобы построить решение.
Если окно Обозреватель решений еще не открыто, нажмите клавиши CTRL+W+S.
В окне Обозреватель решений нажмите правой кнопкой на проект Службы и выберите Запустить новый экземпляр. Запускается сервер разработки ASP.NET, на котором размещается служба.
В окне Обозреватель решений щелкните правой кнопкой мыши на проекте Client и выберите "Запустить новый экземпляр".
На клиенте открывается окно консоли с URI запущенной службы и URI HTML-страницы справки для запущенной службы. HTML-страницу справки можно просмотреть в любой момент времени, введя URI этой страницы в браузере.
Во время выполнения примера, клиент регистрирует статус текущего действия.
Чтобы завершить клиентское консольное приложение, нажмите любую клавишу.
Чтобы прекратить отладку службы, нажмите клавиши SHIFT+F5.
В области уведомлений Windows щелкните правой кнопкой мыши значок сервера разработки ASP.NET и нажмите кнопку "Остановить".