> 백엔드 개발 > C++ > 특성을 사용하여 특정 ASP.NET MVC 작업에서 캐싱을 방지하려면 어떻게 해야 합니까?

특성을 사용하여 특정 ASP.NET MVC 작업에서 캐싱을 방지하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2025-01-14 15:22:44
원래의
550명이 탐색했습니다.

How Can I Prevent Caching in Specific ASP.NET MVC Actions Using Attributes?

사용자 정의 속성을 사용하여 ASP.NET MVC 작업에서 캐싱 방지

ASP.NET MVC에서는 특히 동적이거나 민감한 정보를 처리할 때 데이터 정확성을 보장하기 위해 특정 작업에 대한 캐싱을 선택적으로 비활성화하는 것이 중요합니다. 이 문서에서는 이를 달성하기 위해 사용자 정의 속성을 생성하고 활용하는 방법을 보여줍니다.

캐시 제어를 위한 사용자 정의 속성

작업별 캐싱을 방지하기 위해 기본 캐싱 동작을 재정의하는 맞춤 속성을 생성할 수 있습니다. 다음은 실제 예입니다.

<code class="language-csharp">[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class NoCacheAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        // Aggressively disable caching at multiple levels
        filterContext.HttpContext.Response.Cache.SetExpires(DateTime.Now.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 속성을 ​​작업 메서드에 적용하면 해당 특정 작업에 대한 캐싱이 효과적으로 비활성화됩니다. 예:

<code class="language-csharp">[NoCache]
public ActionResult GetRealTimeData()
{
    // Action implementation...
}</code>
로그인 후 복사

컨트롤러 수준 또는 애플리케이션 전체 캐시 방지

NoCache 속성을 ​​컨트롤러 수준에 적용하여 해당 컨트롤러 내의 모든 작업에 대한 캐싱을 비활성화할 수도 있습니다.

<code class="language-csharp">[NoCache]
public class MyDataController : Controller
{
    public ActionResult GetData()
    {
        // Action implementation...
    }
}</code>
로그인 후 복사

클라이언트 측 보완 접근 방식

서버측 속성도 중요하지만 클라이언트측 조치로 이를 강화하면 캐시 방지 효과가 향상됩니다. jQuery에서는 다음과 같이 수행할 수 있습니다.

<code class="language-javascript">$.ajax({
    cache: false,
    // Other AJAX settings...
});</code>
로그인 후 복사

서버측 속성과 클라이언트측 구성을 결합하면 ASP.NET MVC 애플리케이션에서 강력한 캐시 방지를 보장하여 사용자에게 신선하고 정확한 데이터를 제공할 수 있습니다.

위 내용은 특성을 사용하여 특정 ASP.NET MVC 작업에서 캐싱을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿