VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)
今作っている処理は以下の通りです。
Private Sub Page_Load
If Not IsPostBack Then
カウンタを+1する処理
(ただしCache("StartFlag") がONなら+1しない)
Cache("StartFlag") = "ON"
End If
End Sub
ですが Cache("StartFlag") が"ON"を保持したままになってしまうので、どこのPCからアクセスしてもカウンタが+1されません。
なにか良いアイデアはないでしょうか?
例えば
1)クライアントの情報を保持しておき、
クライアントが変化したら+1する
(クライアントの情報の取得の仕方がわかりません)
2)Cache("StartFlag") をクライアント毎のセッション変数に変えて、セッションが切れて再びアクセスされたら+1する(やり方がわかりません)
その他、参考になりそうなURLも教えていただきたいのですが、お願いいたします。
補足
todo36さんいつもお世話様です。セッション変数って普通に使えたんですね。 で、つぎなる課題は、これだとブラウザを一度消して、また起動してここをアクセスすると、カウンタが+1されるのですが、それの拒否は無理なのですかね?CGIのアクセスカウンタなどは同じところからアクセスしたら時間がたたないとカウントが+1されないみたいな仕様になっていますよね、あれってどうやってるのでしょうか? ちなみに今作っているものは これ↓です http://fleamarket.dip.jp/alice/ あと話は変わりますが、アクセスしてきた人(PC)の情報って得られるのですかね?