Как включить кеш вывода IIS7 для служб данных WCF (OData)

У меня есть служба данных WCF, которая чувствительна к довольно сложному понятию параметров с точки зрения URL. Распространенным случаем является наличие таких URL-адресов, как http://host:port/DataServices/NavigationMetadataService.svc/Inventories('2.1.11.5')?$expand=Components,Items,Items/Properties,Items/Properties/Values ​​(понятие параметров OData).

Служба должна возвращать статические данные. Это означает, что для одной уникальной комбинации параметров ответ всегда будет одинаковым (но его размер составляет около 10-20 мегабайт).

Мы хотели бы включить кеш вывода IIS7, но не знаем, как это сделать. Консоль управления IIS7 дает отсутствие возможности настроить кеш вывода (только имя расширения и параметр «Варьировать по строке запроса»). Видимо здесь я не хочу указывать «.svc» в поле «имя расширения», потому что хочу включить кеширование только для одного WCF-сервиса.

Существует статья об использовании кэша вывода ASP.NET для тех же целей http://blogs.msdn.com/b/peter_qian/archive/2010/11/17/using-asp-net-output.-caching-with-wcf-data-services.aspx . Но на самом деле дело не в кэше вывода IIS7.

Мы хотели бы использовать кэш вывода IIS7, потому что в настоящее время мы тестируем всю реализацию под высокой нагрузкой и выбираем лучший способ кэширования ответов. Таким образом, практически нам нужно только сравнить кеш вывода IIS7 с кешем вывода ASP.NET.

Я пропустил что-то действительно очевидное здесь? Я новичок в службах данных WCF, поэтому, пожалуйста, помогите

На самом деле существует аналогичный вопрос Как мне кэшировать WCF REST веб-служба в IIS7? . Но скорее речь идет о том, как определить, что ответ достоин кэширования с точки зрения выходного кэша IIS7.


person xenn_33    schedule 15.07.2011    source источник