Действительно ли возможно кэшировать ответ http обработчика на сервере и на клиенте?
Это, кажется, не добивается цели:
_context. Ответ. Кэш. SetCacheability (HttpCacheability. Общественность); _context. Ответ. Кэш. SetExpires (DateTime. Теперь. AddDays (7));
_context является HTTPContext, переданным как аргумент методу ProcessRequest на реализации IHttpHandler.
Какие-либо идеи?
Обновление: клиент действительно кэширует изображения, которые загружаются через httphandler, но если другой клиент делает тот же вызов, сервер не имеет кэшируемого. Таким образом для каждого клиента, который просит изображение, сервер переходит к базе данных (и filestream). Если мы используем aspx страницу вместо httphandler вместе с кэширующимся профилем, то изображения кэшируются и на клиенте и на сервере.
Спасибо за ваш ответ в комментариях.
Cache.SetCacheability используется для определения того, разрешено ли кэширование на прокси-сервере или на клиенте, а не на сервере.
Посмотрите статью IIS 7, где объясняется, как кэшировать вывод HTTP-обработчика на сервере.