• 締切済み

sessionタイムはいつから

お世話になります。 aspで使うsessionオブジェクトには、既定値で10分(?) の時間制限があると思います。 これは、いつからいつの時間のことなのでしょうか? 更新ボタンをおすと0に戻るとか、別ページに飛ぶと0に戻るとか有るのでしょうか? そもそも、session自体を理解していないのでダメだとは思うのですが。。。。

みんなの回答

  • itohh
  • ベストアンサー率45% (210/459)
回答No.1

こんにちは。itohhといいます。 sessionオブジェクト、session変数などは、sessionが開始されたときから終了するまで 値、エリアを確保しています。 sessionの開始のタイミングは、global.asa内に定義されている「Session_OnStartイベント」 が実行されたときからです。 sessionの終了のタイミングは、ブラウザからの応答が一定時間(sessionタイムアウト) ないときに「Session_OnEndイベント」が実行されてsessionの破棄が行われるときです。 (または、Session.Abandonを実行して意識的にsessionの破棄を行うことも出来ます) IIS/ASPのことでしたら、以下のサイトが参考になると思いますから、勉強のためにも 一度覗いてみては如何でしょうか? ・MSDN online Web Workshop Japan URL:http://www.microsoft.com/JAPAN/developer/workshop/default.asp ・TRY!ASP URL:http://tryasp.winscom.co.jp/

参考URL:
http://www.microsoft.com/JAPAN/developer/workshop/default.asp,http://tryasp.winscom.co.jp/

関連するQ&A

  • javaでのセッションについて

    javaでのセッションについてお聞きしたい事があります。 セッションについて下記のページを参考にしました。↓ http://www.atmarkit.co.jp/fjava/javafaq/session/session04.html このページにセッションのタイムアウトについて書いてあったのですが、 その中の文章で 「Webアプリケーションの場合は、ユーザーが処理の途中でブラウザを閉じるということもありますので、必ずしもログアウト処理が行われるとは限りません。このような場合は、クライアント側は処理を終了しているのにもかかわらず、サーバ側にはそのクライアントに対するセッション情報が残ってしまいます」 というのがあったのですが、 自分の作成したwebアプリケーションで セッションを開始した(セッションオブジェクト(HttpSessionインターフェースのオブジェクト)作成)後、明示的に(コーディング上で)セッションを終了していないのに、ブラウザの右上の×ボタンで閉じた後、再びwebアプリケーションで処理を開始すると、セッションオブジェクトがnullになっていました。 ここで、「セッションオブジェクトがnull」=「セッション情報が残っている」と言うのは、間違いでよろしいのでしょうか? 自分は上記の文章で、「セッション情報が残っている」=「セッションオブジェクトがnullでない」と解釈しているのですが。 何か分かる事がありましたら、ご教授お願い致します。

    • ベストアンサー
    • Java
  • 思うように セッションの破棄 ができない

    ASPを使ったログイン機能を持ったページを作っています。 ログインしたときにセッションIDを使って直リンクを避けるような 機能を持たせたのですが、サーバーの負荷を避けるために、ログアウト ボタンを作って ログアウトボタンを押したらセッション情報を破棄 するようにしたら、どうもページを読み込んだときに すぐに破棄してしているようで うまくできません ソースは <%@ Language = "VBScript" %> 以下HTMLヘッダー類 <script language="JavaScript"> <!-- function owari(){ <% Session.Abandon %>//セッション破棄 parent.location.replace('../login/login.asp?stn=2');//ページ移動 } //--> </script> 以下HTMLのボディー <INPUT type="button" value="ログアウト" onclick="owari()"> 以下色々なソース ボタンを押したら JavaScriptを呼び出し 破棄してページ移動するように作ったのですが これ自体は問題なく作動するのですが、 <% Session.Abandon %>//セッション破棄 がはいると、なぜかページを開いたときに 呼び出してもいないのに 破棄されてしまっているようで、通常のページ移動もできなくなります セッション破棄の1行を抜くと 全てきちんと作動しますが これではサーバーのセッションタイムアウトまでメモリが残るから良くないのです。 また、VBScript内に Sub haki() Session.Abandon .. .. End sub として <script language="JavaScript"> <!-- function owari(){ <% haki %> } //--> </script> と言うようにしても、同じ不具合になります JavaScriptはfunctionにすると呼び出されるまでは実行されないと思います。 またVBScriptのSubプロシージャも呼ばれるまでは実行しないと思っています。 ただ、今の状態を見る限り、このあたりの認識が間違っているのかなと思っているのですが、 根本的な原因とその解決策が分からず困っています。 どなたかご教授くださいますと幸いです。 よろしくお願いします

  • ページ移動でsessionを渡す

    ADO接続で結果を返す検索システムを作っています。 Search.asp(検索画面) Result.asp(結果画面) View.asp(検索結果詳細) 検索画面のテキストボックスの値を、結果画面でsessionオブジェクトに入れます。結果画面内では、カウントを増やしつつ、次ページへの移動が可能な 画面になっています。 再び、検索画面に戻ったときにテキストボックスの値に元の検索文字列を入れたいのですが、上手くいきません。検索結果画面で、次ページへ行くと、Sessionオブジェクトの値が消えているようです。ページ移動しても保持する方法はないのでしょうか?

  • セッションのタイムアウト管理

    サーバー側で20分間アクセスのなかったセッションを 強制的に切断したいと考えています。 まずphp_value session.gc_maxlifetime等に有効期限を設定して、 ガベージコレクションでセッションIDファイルを削除する方法ですが、 今回の要件としては、サーバー側で20分後に確実にセッションを 切りたいので、1/100の確率とかでは困ります。 そこで、php_value session.gc_divisorを1にして 1/1の確率でセッションIDファイルを削除させたりしても良いのでしょうか? そもそもデフォルトで1/100の確率で削除としているのには1/1にしては 駄目な特別な理由があるのでしょうか? それと、別案として、セッションIDをサーバー側のDBか何かに保持して、 セッションIDファイル(SESS_*)の最終更新日から20分を過ぎている ファイルに対してunlinkで物理削除してしまう方法も検討しています。 この方法は何か問題あるでしょうか? 以上。宜しくお願いします。  

    • ベストアンサー
    • PHP
  • 別ブラウザにセッションを渡す事ってできますか?

    お世話になります。 VBもASPも初心者に近いので、説明不足もあるかと思いますが、 よろしくお願いいたします。 <概要> VBで、WebBrowserを利用してフォーム内にASP1を表示する作りにしました。 表示したASP1上でボタンを押すと別のASP2を新しいブラウザで表示する作りになっています。 <問題> 新しいブラウザでASP2を表示する際にASP1からのセッション変数が 引き継がれず、消えてしまいます。 OSの環境はWindowsXPです。 Web環境はIEです。 VBは6.0です。 ASPは.NETではありません。 実際に初めのASP1を表示する箇所が下記です。  Form1.WebBrowser1.Navigate2 "ASP1"  Form1.Show そして、"ASP1"からASP2を表示する時が下記です。 ※ここはjavascriptを使用しています。 function Button_onClick(){  newWin = window.open("ASP2", "newWin") } <やりたい事> ASP1で使用しているセッション変数を ASP2でも使用したいのです。 ASP1のセッションIDをASP2に渡して、そのセッション変数を使うとか強引な方法とかあるのでしょうか? ちなみに、VB6.0を使用せず、IEのブラウザでASP1からASP2を呼ぶとセッションは切れません。 よろしくお願いします。

  • JSPとJavabeansによるセッション管理について

    今JSPとJavabeansを使ってログイン認証のプログラムを作ってます。 JSPのsessionスコープを使って一度ログイン画面で認証に成功すれば、セッション継続中はログインの必要なページに行ったとき認証されるというプログラムです(認証されてない場合ログイン画面に飛ぶ。jsp内でif文分岐) 認証成立した場合、javabeansに結果(true)を保存してします。 これでログイン認証は成功したのですが、別のページに行った後 再びログインの必要なページに行ったとします。 ここで問題なのですが、認証に成功しているのにエクスプローラーの更新ボタンを押さないと認証されません(つまりログイン画面に飛び、更新ボタンを押さないといけない)。 セッションは継続しているのに更新ボタンを押さないといけないのはなぜなのかわかりません。 だれかログイン認証のセッションのわかる人教えてください。お願いします。

  • セッション中に有効期限切れのページが表示される。

     セッション中にブラウザの「進む」ボタンや「戻る」ボタンをクリックすると、 「Web ページの有効期限が切れています」が表示されて「更新」ボタンをクリックしてください。といわれます。  セッション中このページを表示しないうにするにはどのようにすれば いいのでしょうか?  ご存知の方、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ボタンを押してセッション変数を保存できるでしょうか

    レガシーASPにてWebのページを作っております。 押したリンク(ボタン)によって異なる値をセッション変数に保存したいのですが、 この様な事は可能でしょうか? OnClickイベントはJavascriptですし、 Session.Contents("~")はVBSですので、 JavascriptからVBSを呼べるか? という質問になってしまうのでしょうか。

  • ページを一度更新しないとSession値が渡らない。

    ASPで初めてプログラムしています。 A.asp → Err.inc → Err.asp というように、エラーがあったらErr.aspに 遷移するようにしているのですが、 Err.aspで更新ボタンを押さないとSession値が表示されません。 具体的に *** Err.inc *** <% Sub COMM_USER_ERROR(strMsg)   session("ErrMsg") = strMsg   'システムエラー表示   Response.Redirect("Err.asp")   Response.End End Sub %> *** A.asp *** If Request.ServerVariables("REQUEST_METHOD") <> "POST" Then   Call COMM_USER_ERROR("不正なアクセスをしました") End If *** Err.asp *** <HTML>   (中略)   <%=session("ErrMsg")%> どうしたらよいか全くわかりません。 どなたか教えていただけないでしょうか? よろしくお願いいたします。

  • Sessionの保持

    いつもお世話になっています。 ASP.NET を勉強しているのですが参考資料が手元になく WEBでいろいろ検索をかけていたのですが該当した記事が見つからず ここで質問させていただきます。 かなり、初歩的な質問だと思うのですが、Sessionの値の保持の仕方がいまいちつかめません。 例えば、 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' ページを初期化するユーザー コードをここに挿入します。 If Not IsPostBack Then Session("test") = 0 End If Response.Write(Session("test")) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Session("test") = Session("test") + 1 End Sub 上記のようにプログラムを組んだとして、ページを表示後に Button1 をクリックしても Session("test") の値が計算されていない場合があります。 つまり、Nothing の状態になっているのです。 かと思えば、次に Button1 をクリックしたら計算されていたり、 はたまた、もう1度 Button1 をクリックしたら Nothing になっていたりします。 ちなみに規則性はありません。 タイムアウトかとも思ったのですが、 デフォルトの20ままで動かしていますし、ページ表示後から Button1 のクリックまで2、3秒でも 不規則な動きをします。 何かIISの設定なのかなぁ?とも思っているのですが、皆目検討がつかずご教授いただけたらと思っています。 よろしくお願いいたします。