DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Sessionについて

  • 題名: Sessionについて
  • 著者: くりのき
  • 日時: 2006/03/08 12:08:12
  • ID: 15474
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[言語:C# OS:WindowsXp Pro]
分類:[ASP.NET]

2006/03/08(Wed) 15:23:40 編集(投稿者)

はじめまして、いつも参考にしております

現在ASP.NETで開発をしているのですが
行き詰ってしまいました。

Response.AddHeaderでヘッダに("Refresh",Session.Timeout)を書き込んでおいて
Session.Timeoutでタイムアウトした場合に再読み込みを行い
初期画面に遷移する。という仕様で

Global.asaxに
protected void Session_End(Object sender, EventArgs e)
{
//新たにセッションを作り直す処理
}

本体のPage_Loadイベントに
if (Session.IsNewSession)
{
//初期画面に遷移する処理
}

と記述しているのですが
JavaScriptでポップアップ画面を呼び出し、
ポップアップ画面をそのままにタイムアウトした場合に
Global.asaxを通らずに処理されてしまい
タイムアウトを2回待つことになってしまいます。

Global.asaxを通るように処理する方法はないものでしょうか
ご教授のほどよろしくお願い致します。
お世話になります。

■No15474に返信(くりのきさんの記事)
"本体"とポップアップと↓の記述の関係がよくわからないのですが...
> Response.AddHeaderでヘッダに("Refresh",Session.Timeout)を書き込んでおいて

また、何故個々のクライアントのセッションタイムアウトを JavaScript で監視して、
わざわざセッションを作り直してやる必要があるのか
もよくわかりません。
個々のクライアントから、必要かどうかわからないセッションを
作る要求を投げられて、セッションをその度に作っていたら、
アプリケーションサーバーに負荷がかかってしまいそうだと思うのですが、
大丈夫なんでしょうか...

普通は、セッションタイムアウト後、何かユーザーが次にアクションを起した時に
セッションタイムアウトを判定し、ログイン画面とかに遷移しますよね。
(つまり、使用者が引き続きセッションが必要な時だけ)
  • 題名: Re[2]: Sessionについて
  • 著者: くりのき
  • 日時: 2006/03/10 10:10:25
  • ID: 14790
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
説明不足でした、すいません

> "本体"とポップアップと↓の記述の関係がよくわからないのですが...
>>Response.AddHeaderでヘッダに("Refresh",Session.Timeout)を書き込んでおいて

これは本体側に書き込まれていてタイムアウトした場合
本体を再読み込みしする為のものです
ポップアップは本体側が別画面に切り替わった時に消えるようにしております

>セッションタイムアウト後
普通はそうなんですか。
仕様だったもので疑ってもみませんでした( ̄_ ̄;

DOBON.NET | プログラミング道 | プログラミング掲示板