У меня есть простое доказательство концепции, которая, кажется, странно обрабатывает кеширование. Вот мнение:
<script>
$('#clickToLoad').click(function() {
$.ajax({
url: "<%=ResolveUrl("~/Home/AjaxCacheTest") %>?"
, dataType: 'json'
,ifModified: true
,cache: true
,success: function(sourceData) {
}
});
});
</script>
Это связано с действием в контроллере:
[OutputCache(VaryByParam = "none", Duration = 3000)]
public ContentResult AjaxCacheTest()
{
return Content("0", "application/json");
}
Я бы хотел получить результат с кешированием, однако, похоже, что AjaxCacheTest не кеширует, если я не запрашиваю его самостоятельно (то есть в окне браузера вместо AJAX).
Установка кеша: true не помогает. Установка ifModified: true вызывает кеширование, но затем не вызывает функцию успеха, поэтому я не могу использовать результаты.
Существуют ли варианты, позволяющие кэшировать и при этом вызывать ответный обратный вызов?
UPDATE:
Спасибо, забыл добавить те. Я тестирую с помощью firebug и определяю, как кеширование обрабатывается комбинацией просмотра кода ответа (200 OK против 302) и времени ответа на запрос. Это все на встроенном сервере Visual Studio (Кассини?).