2010-08-22 3 views
1

나는 모든 방문을 계산하고 쿠키를 만드는 aspx 페이지가 있습니다. 그러나 OutputCache 페이지를 사용하면 페이지를 요청한 첫 번째 방문자 만 계산됩니다. 이 버그를 어떻게 막을 수 있습니까?캐시 페이지지만 카운트 히트

Page 지시문 :

<%@ OutputCache Duration="1200" VaryByParam="mode;page;sid;tid" %> 

Codebehind가 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    //Load single post data 

    #region Hit Counter 
    //hit counter lasts during session 
    if (Session["LastHit" + postId] == null) 
    { 
     cmmnd.CommandText = "UPDATE Posts SET Hits=Hits+1 WHERE [email protected];"; 
     cmmnd.ExecuteNonQuery(); 
     Session["LastHit" + postId] = 1; 
    } 
    #endregion 
} 
+0

몇 가지 코드를 게시하십시오. –

답변

2

이 버그가 아니라 디자인에 의해. 페이지가 캐시에 있고 "캐시 된 출력이 여전히 유효"인 경우 페이지가 다시 처리되지 않습니다. 이 유효성 검사 단계에서 코드를 실행하면 방문수 계산 및 쿠키에 추가하는 작업을 수행하는 데 도움이됩니다. 다음은 도움이 될 수 있습니다

2

이 점은 어떻게 계산합니까? 정보 마켓팅? 스크립트 또는 페이지의 이미지에서 가벼운 분석 카운터를 사용하고 페이지 자체를 생성하지 않아야합니다. 버그는 추가 작업에 자체 요청을하는 대신 바쁜 요청에 추가 작업을 추가하는 것입니다.

+0

블로그 게시물 조회수를 계산하십시오. –

+0

그런 경우에는 분석 카운터를 신경 쓰지 않고 IIS 로그를 구문 분석하는 데 의존해야합니다. 왜 이미 기록 된 데이터를 기록합니까? 캐시 된 페이지가 아닌 캐시 된 페이지를 누가 다시보고 있는지 신경 쓰면 분석 카운터 트릭을 사용하거나 Google 애널리틱스와 같은 서비스를 사용할 수 있습니다 (세션이 돌아서는 데 왜 성능 문제가 발생해야합니까? 언제 할 수 있니?). –