2010-10-17 38 views
0

我有一個真正的cheesy計數器,只是在拜訪時添加一個到counter字段。這不包括頁面點擊,但它仍然俗氣。如何最好地阻止櫃檯上的多個「計數」?

我需要做的是阻止某人只是一遍又一遍地刷新。最簡單的是完成這個任務?餅乾?

我不想記錄每個訪問者的IP地址,等等......簡單 - 在C#asp.net mvc中。

回答

2

是的,餅乾將是一個簡單的方法來實現這一點。更簡單的是在Session中設置一個值 - 如果設置了這個值,這個訪問已經被註冊了,所以我們不應該再次增加計數器。

這樣,您還可以計算每次會話的「訪問次數」,這通常是獨特訪問的最佳措施。

僞代碼來實現:

if (Session["HasCountedThisVisitor"] == null) 
{ 
    counter++; 
    Session["HasCountedThisVisitor"] = true; 
} 
+0

啊,很好的電話。他們必須在「訪問」之間徹底殺死他們的會話。也許這個和Cookie的結合。謝謝! – Chaddeus 2010-10-17 17:18:47

+0

@Chad,記得Session是通過cookies實現的。所以你很可能只想使用cookie或會話。如果您想要統計唯一的_visitors_(不計算同一臺計算機上同一臺瀏覽器的後續訪問),請使用cookie,如果您想計算唯一的_visits_(如果訪問者明天再次回來,她會再次統計),請使用Session。 – driis 2010-10-17 17:23:18

+0

噢,對不起,就像我問這個問題時的凌晨2點。感謝你的回答! – Chaddeus 2010-10-17 22:53:45

2

的Cookie,或者您檢查是否已設置,增加櫃檯前一個會話變量..

+0

謝謝,似乎是常見的建議。 – Chaddeus 2010-10-17 17:19:09

0

爲什麼?

有大量的免費日誌記錄工具,一些分析你的IIS日誌,一些給你一些JavaScript放置在你的頁面上。 Google Analytics是非常棒的和免費的。

你在這裏重新發明輪子。

+0

不,我沒有記錄點擊/訪問/綜合瀏覽量...我確實使用Google Analytics。我的櫃檯統計我的數據庫中的一個對象。不過謝謝。 – Chaddeus 2010-10-17 17:17:27