ASP.Net MVC 3.
Я нашел похожие вопросы / ответы, но, похоже, ни один из них не решил эту проблему ...
Аналог: HttpResponse.RemoveOutputCacheItem не работает
Как «сделать недействительными» части кэша вывода ASP.NET MVC?
Я использую OutputCache для кэширования FileContentResult (изображение).
Мое действие выглядит следующим образом:
[HttpGet]
[OutputCache(Location = OutputCacheLocation.Client, Duration = 300, VaryByParam = "id")]
public FileContentResult Photo(int id) {
byte[] photo = //GetPhoto;
return File(photo,"image/jpeg");
}
На мой взгляд, мне нужно следующее:
<img src="@Url.Action("Photo", "Client", new {id = Model.Id})"/>
Это отлично работает, и кэширование вывода работает, как ожидалось .... Теперь проблема
Я пытаюсь сбросить кеш после обновления.
Код в действии, которое обновляет, выглядит следующим образом:
var url = Url.Action("Photo", "Client", new {id = Model.Id});
Response.RemoveOutputCacheItem(url);
Проблема в том, что кэш не сбрасывается.Когда я отлаживаю, я не могу найти, где находится объект кэша (я пробовал System.Web.HttpContext.Current.Cache, но, похоже, в нем нет кэшированного элемента).
Спасибо за любую помощь!