asp.net mvc 동작에서 캐싱 제어
ASP.NET MVC의 캐싱 메커니즘은 성능을 크게 향상시킵니다. 그러나 특정 동작에 대한 캐싱을 비활성화하는 것이 신선한 데이터의 검색을 보장하기 위해 필수적인 시나리오가 존재합니다. 이 안내서는 사용자 정의 속성을 사용하여 특정 ASP.NET MVC 작업의 캐싱을 방지하는 방법을 자세히 설명합니다.
nocache 속성 만들기
캐싱을 비활성화하는 사용자 정의 속성을 작성하려면 [AttributeUsage]
및 [ActionFilterAttribute]
속성을 활용합니다. 아래는 예입니다.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();
base.OnResultExecuting(filterContext);
}
}
컨트롤러 또는 동작 메소드에 [Nocache]
를 적용하면 해당 특정 요소의 캐싱이 비활성화됩니다. 또는 기본 컨트롤러에서 상속하고 [Nocache]
로 장식하면 모든 상속 컨트롤러가 캐싱을 방지합니다.
jQuery의 캐시 제어
데이터 검색에 jQuery를 사용할 때 cache : false
$.
$.ajax({
cache: false,
// ... other AJAX settings
});
브라우저 새로 고침 방지 방지 측정을 구현 한 후 브라우저가 캐시 된 데이터에 의존하지 않도록 "하드 리프레쉬"(CTRL F5)가 중요합니다. 브라우저가 캐시 된 버전을 유지하는 경우 표준 새로 고침 (F5)이 항상 최신 정보를 검색하는 것은 아닙니다.
요약noccheattribute
또는 설정 캐시를 사용하여 jQuery의 false
는 대상 ASP.NET MVC 작업에 대한 캐싱을 효과적으로 방지하여 브라우저가 현재 데이터를 수신하는 것을 보장합니다. 캐싱 제어 마스터 링 사용자 경험 및 응용 프로그램 논리에 영향을 미치는 오래된 데이터를 피하는 데 핵심이 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3