외부 캐시 공급자가 있는 ASP.NET MVC 출력 캐시 속성
ASP.NET MVC 5 애플리케이션을 Azure Redis로 전환한 후(Microsoft.Web.RedisOutputCacheProvider
너겟 패키지)나는 그것을 보고 놀랐습니다.OutputCacheAttribute
둘 중 하나를 사용하도록 설정된 경우OutputCacheLocation.Any
또는OutputCacheLocation.ServerAndClient
[Route("Views/Orders")]
[OutputCache(Duration = 600, Location = OutputCacheLocation.Any)]
public ActionResult Orders()
{
}
무작위로 다음 오류를 생성합니다.
'RedisOutputCache'와 같은 사용자 지정 출력 캐시 공급자를 사용하는 경우 파일 종속성, 절대 만료, 정적 유효성 검사 콜백 및 정적 대체 콜백과 같은 만료 정책 및 캐시 기능만 지원됩니다.
위의 선언이 명확하게 다음과 같은 고급 사항 없이 절대 만료를 정의하기 때문에 이상합니다.varybyparam
검색을 좀 해보니 이 문제에 대한 해결책이 없는 것 같아 매우 실망스럽습니다.ASP.NET 캐싱 메커니즘과 호환되는 외부 캐시 공급자가 있습니까?그렇지 않은 경우 MVC/WebApi 앱의 클러스터 시나리오에서 서버 측 HTTP 출력 캐싱을 어떻게 구현합니까?
문제는 엔드포인트가 인증된 경우 정의에 따라 출력이 사용자에 따라 다르다는 것입니다.따라서 기본적으로 모든 외부 출력 캐시 공급자는 더 이상 선택사항이 아닙니다.
옵션은 다음 중 하나입니다.
- 엔드포인트가 안전하게 익명을 허용할 수 있는 경우 엔드포인트 보호 해제
- 사용자에 따라 다를 수 있는 로컬 캐싱 사용
- 하위 작업 및/또는 AJAX가 보호된 데이터를 호출하도록 엔드포인트를 분할합니다.이를 통해 대부분의 항목을 공개할 수 있지만 실제 데이터는 캐슁되지 않고 보호됩니다.
- 출력과 다른 계층에서 캐시합니다.애플리케이션 서버 요청/응답 및 뷰 렌더링이 실제로 귀사의 확장 문제입니까?아니면 DB 및 서비스 계층 계산 가능성이 더 높습니까?이러한 계층의 캐슁은 쉽고 사용자에 따라 필요에 따라 쉽게 달라질 수 있습니다.
언급URL : https://stackoverflow.com/questions/40609788/asp-net-mvc-outputcacheattribute-with-external-cache-providers
'programing' 카테고리의 다른 글
c 정수의 get nth 바이트 (0) | 2023.06.09 |
---|---|
다른 시트의 테이블 데이터를 참조하는 Vlookup (0) | 2023.06.09 |
에뮬레이터의 "이 앱은 Firebase 인증을 사용할 수 있는 권한이 없습니다." (0) | 2023.06.09 |
어떤 루비 IDE를 선호하십니까? (0) | 2023.06.09 |
LLVM의 가장 큰 이점은 무엇입니까? (0) | 2023.06.09 |