1

출력 캐시를 사용하여 몇 시간 동안 캐시하는 페이지가 있습니다. 그러나 데이터베이스에 각 페이지 뷰를 기록하려고합니다.출력 캐시를 사용하여 페이지를 캐시 할 때 페이지 뷰를 저장합니다.

개인화 된 데이터를 표시하기 위해이 데이터를 사용할 것이므로 코드 숨김에 액세스하는 것이 중요합니다.

그래서 내 OutputCache를 매개 변수는 다음과 같습니다

<%@ OutputCache duration="7200" VaryByParam="*" %> 

솔루션의 생각 ...

는 나는 기본적으로 도넛 캐싱을 원하는 것 같아요,하지만 난 정말 그것에 대해 너무 많은 정보를 찾을 수 없습니다.

대체 컨트롤이 적합할까요? 사용자 정의 컨트롤을 캐시 할 수 있습니까?

출력 캐시를 사용하고 있어도 페이지 뷰를 저장하기 위해 데이터베이스에 액세스하는 가장 좋은 해결책은 무엇입니까?

답변

1

기본적으로 사용자 정의 HttpHandler을 asp.net에 작성하고 페이지로드시 javascript를 사용하여 해당 매개 변수로 핸들러를 호출 할 수 있습니다. 해당 처리기는 데이터베이스에 페이지 액세스 관련 데이터를 저장하는 것과 같은 나머지 작업을 수행합니다.

도움이 더 필요하면 알려주십시오.

+0

출력 캐싱을 사용하도록 설정 했더라도 모든 pageload에서 HTTPHandler가 호출됩니까? 또한 세션에 액세스하고 쿠키를 만들 수 있습니까? 그리고 사용자가 방문하는 페이지를 어떻게 알 수 있습니까? :-) –

+0

맞습니다. 자바 스크립트는 HttpHandler를 호출합니다. 처리기에서 세션과 쿠키를 모두 사용할 수 있습니다. 페이지를 결정하기 위해 매개 변수를 핸들러 요청에 전달하거나 요청 참조자를 사용할 수 있습니다. –