나는 이상하게 캐싱을 처리하는 것 같은 간단한 개념 증명을했습니다.ASP.NET MVC에서 AJAX 캐싱 디버깅
<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 대신 브라우저 창에서 직접 요청한다.
캐시 설정 : 참으로 도움이되지 않습니다. ifModified : true를 설정하면 캐싱이 발생하지만 success 함수가 호출되지 않으므로 결과를 사용할 수 없습니다.
캐싱을 허용하고 응답 콜백을 계속 호출 할 수있는 옵션이 있습니까?
업데이트 : 감사합니다. 추가하지 않았습니다. 방화 광구를 테스트하고 응답 코드 (200 OK vs 302)와 요청의 응답 시간을 비교하여 캐싱이 처리되는 방식을 결정합니다. 이것은 모두 Visual Studio에 내장 된 서버 (Cassini?)에 있습니다.
무엇을 테스트합니까? IIS? 카시니? 당신은 디버그 모드에 있습니까? (web.config의 설정을 의미합니까?) FireBug 또는 비슷한 도구를 통해 reqeust 및 응답 헤더를 확인 했습니까? 질문에 대한 답변을 추가하십시오. –