Как кэшировать изображение, когда src - это какое-то действие, которое возвращает изображение? - PullRequest
1 голос
/ 09 апреля 2010

Есть много вопросов о том, как заставить браузер кэшировать или не кэшировать любое изображение. Но я столкнулся с немного другой ситуацией. В нескольких местах моей веб-страницы я использую следующий код для изображений.

<img title="<%= Html.Encode(Model.title)%>" 
  src="<%= Url.Action(MVC.FrontEnd.Actions.RetrieveImage(Model.SystemId))%>"/>

Итак, в сгенерированном HTML это похоже на

<img title="blahblah" src="http://xyz.com/FrontEnd/Actions/RetrieveImage?imageId=X">

Где X - некоторое целое число. Я видел, что хотя браузер (IE или Mozilla) по умолчанию кэширует изображения, он не кэширует изображения, созданные вышеуказанным методом.

Можно ли как-то сказать браузеру кэшировать изображения вышеуказанного типа?

Заранее спасибо.

1 Ответ

1 голос
/ 09 апреля 2010

Для этого вы можете установить заголовки Expires и MaxAge ответа. Чтобы упростить задачу, вы можете создать собственный ActionFilter.

Вот хорошее руководство для достижения этой цели: Фильтр действий ASP.NET MVC - Кэширование и сжатие

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...