ASP.NET MVC 작업에서 캐싱 제어
ASP.NET MVC의 캐싱 메커니즘은 성능을 크게 향상시킵니다. 그러나 새로운 데이터 검색을 보장하기 위해 특정 작업에 대한 캐싱을 비활성화하는 것이 필수적인 시나리오가 있습니다. 이 가이드에서는 사용자 정의 속성을 사용하여 특정 ASP.NET MVC 작업에서 캐싱을 방지하는 방법을 자세히 설명합니다.
NoCache 속성 생성
캐싱을 비활성화하는 사용자 정의 속성을 구축하기 위해 [AttributeUsage]
및 [ActionFilterAttribute]
속성을 활용합니다. 아래는 예시입니다:
<code class="language-csharp">[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); } }</code>
[NoCache]
을 컨트롤러나 액션 메서드에 적용하면 해당 특정 요소에 대한 캐싱이 비활성화됩니다. 또는 기본 컨트롤러에서 상속하고 [NoCache]
로 장식하면 상속하는 모든 컨트롤러에서 캐싱이 방지됩니다.
jQuery의 캐시 제어
데이터 검색을 위해 jQuery를 사용할 때 cache: false
메서드 내에서 $.ajax()
를 명시적으로 설정하면 캐싱이 방지됩니다.
<code class="language-javascript">$.ajax({ cache: false, // ... other AJAX settings });</code>
브라우저 새로 고침 시행
캐싱 방지 조치를 구현한 후 브라우저가 캐시된 데이터에 의존하지 않도록 하려면 '강제 새로 고침'(Ctrl F5)이 중요합니다. 브라우저가 캐시된 버전을 유지하는 경우 표준 새로 고침(F5)으로 항상 최신 정보를 검색하지 못할 수 있습니다.
요약
jQuery에서 NoCacheAttribute
또는 cache: false
설정을 활용하면 대상 ASP.NET MVC 작업에 대한 캐싱을 효과적으로 방지하여 브라우저가 현재 데이터를 수신하도록 보장합니다. 캐싱 제어를 마스터하는 것은 사용자 경험과 애플리케이션 로직에 영향을 미치는 오래된 데이터를 방지하는 데 중요합니다.
위 내용은 특정 ASP.NET MVC 작업에 대한 캐싱을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!