속성을 사용하여 ASP.NET MVC 작업에서 캐싱 억제
도전:
ASP.NET MVC 애플리케이션에서는 항상 최신 정보를 검색할 수 있도록 특정 작업이 데이터를 캐싱하지 못하도록 방지해야 하는 경우가 많습니다.
해결책:
1. jQuery 캐싱 비활성화:
jQuery가 AJAX 응답을 캐싱하는 것을 중지하려면 AJAX 설정에서 cache: false
옵션을 사용하세요.
<code class="language-javascript">$.ajax({ cache: false, // ... rest of your AJAX configuration });</code>
2. 사용자 정의 NoCache
속성 구현:
보다 정확한 제어를 위해 MVC 작업 내에서 캐싱을 관리하는 사용자 정의 속성을 생성하세요.
<code class="language-csharp">[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public sealed class NoCacheAttribute : ActionFilterAttribute { public override void OnResultExecuting(ResultExecutingContext filterContext) { // Configure HTTP headers to disable caching 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>
3. NoCache
속성 적용:
캐싱이 필요하지 않은 컨트롤러 또는 개별 작업에 속성을 적용합니다.
<code class="language-csharp">[NoCache] public class SomeController : Controller { // Controller actions }</code>
4. 전역 캐싱 방지:
사이트 전체 접근 방식의 경우 기본 컨트롤러 클래스에 NoCache
속성을 적용하세요.
<code class="language-csharp">[NoCache] public class ControllerBase : Controller, IControllerBase { // Controller actions }</code>
5. 브라우저 캐시 새로 고침:
이러한 변경 사항을 구현한 후 브라우저에서 강제 새로 고침(Ctrl F5)을 수행하여 기존 캐시 데이터를 지우고 업데이트된 결과를 확인하세요.
위 내용은 ASP.NET MVC 작업에서 캐싱을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!