Кэширование на стороне сервера не работает с HttpHandler - PullRequest
0 голосов
/ 15 марта 2010

Если мы используем страницу aspx с профилем кэширования, сервер кэширует изображения, загруженные страницей aspx. Таким образом, если десять клиентов загружают одно и то же изображение через страницу aspx (один и тот же URL-адрес), для одного клиента изображение получается из БД, а для девяти других оно кэшируется.

Когда мы используем HttpHandler, этого не происходит. Изображение всегда выбирается из базы данных. Мы пробовали все разные настройки без какого-либо успеха. (мы проверили эту ссылку и не смогли кэшировать на стороне сервера).

1 Ответ

1 голос
/ 17 марта 2010

Я не могу ответить на основании опыта использования профиля кэширования, поэтому я не уверен, поможет ли это.

Под прикрытием ASP.NET WebForms управляются HttpHandlers - написаны MS (как и следовало ожидать). Когда вы пишете свой собственный обработчик Http, вы не получаете автоматически все функции, которые есть у обработчика System.Web.UI.PageHandlerFactory (тот, который по умолчанию присматривает за страницами / запросами .aspx) - вы должны включить его (или развивать это) самостоятельно.

Может быть, это ваша проблема - может быть, возможности Caching Profile используются страницами aspx, потому что System.Web.UI.PageHandlerFactory уже «интегрирован» с ним из коробки, где-как, когда вы пишете по вашему - их просто нет (по умолчанию) - и, следовательно, они не работают.

...