出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[3059] Re:ASPのSessionについて
投稿者:暇人さん 2002/12/20 15:23:25
あんまりやってはいけないことなのだと思いますが
該当するページから引っ張ってきました
現在このページは使われておらず、キャッシュから拝借いたしました

これで旨く行けば幸いです。はずしていたらごめんなさい

以下抜粋

Session管理の問題(1998/2/24)
セッションの管理にバグがあり、Session変数をダミーで定義する必要が
あるようです。
具体的には、global.asaのSession_OnStartにおいて、Session変数を定義
せず、Application変数のみ指定した場合、ブラウザのリロードのたびに
セッションが新規に作成されてしまいます。
たとえば、カウンタを実現するとして、Global.asaに

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("Counter") = 0
End Sub
</SCRIPT>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Application.Lock
Application("Counter") = Application("Counter") + 1
Application.Unlock
End Sub
</SCRIPT>

と定義していた場合、各ページにうめこんだカウンタ <%=Application("Counter")%>
は、リロードしたり、リンクをたどるたびにインクリメントされてしまいます。
対策は、Session_OnStartにてSession変数を一つ以上定義することです。
わたしは、Session_OnStartの最初に、

Sub Session_OnStart
Session("StartTime") = Now
Application.Lock
Application("Counter") = Application("Counter") + 1
Application.Unlock
End Sub

とセッションの開始時刻をSession変数に保存することにより、回避しました。
Sessionの概念はASPに固有な概念だけに、この問題には注意が必要です。



ASPのSessionについて   拓哉さん [2002/12/19 13:28:49] [3056]
  Re:ASPのSessionについて   暇人さん [2002/12/19 14:40:49] [3057]
    Re:ASPのSessionについて   拓哉さん [2002/12/19 14:54:10] [3058]
      Re:ASPのSessionについて   暇人さん [2002/12/20 15:23:25] [3059]
        Re:ASPのSessionについて   拓哉さん [2002/12/21 18:48:02] [3062]
          Re:ASPのSessionについて   暇人さん [2002/12/24 11:16:10] [3066]
            Re:ASPのSessionについて   拓哉さん [2002/12/24 16:22:28] [3069]


TreeBBS For ASP V.0.1.3
Program By YasNet