- PR -

Ajaxで非同期通信時のセッションタイムアウト

1
投稿者投稿内容
みっちー
常連さん
会議室デビュー日: 2006/01/06
投稿数: 22
投稿日時: 2006-05-11 17:48
お世話になります。
ASP.NETでWebアプリを作成しております。

Ajaxで非同期通信を行っているページがあるのですが、
ラウンドトリップが発生する為、セッションタイムアウトになる事ができません。

このような場合でも、セッションタイムアウトを有効にしたい場合は、
どう対処するのが、一般的なのでしょうか?
あるページだけ、セッションタイマーをリセットしない方法など
ありますでしょうか?

よろしくお願いいたします。

■環境
Windows Server 2003
IIS 6.0
VisualStudio.NET 2003
Webアプリ(C#)
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-05-11 18:15
定期的にajaxの非同期通信が発生して、それによりSessionタイムアウトが発生しないという意味でしょうか?
まぁ定期的にリクエストが発生しているのは事実なので、タイムアウトさせないのは無理な気がしますが。。。
どうしてもタイムアウトさせていということは、Sessionに何かサイズの大きいオブジェクトでも格納しているのですか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-05-13 21:40
タイム アウト イベントが発生することを前提とした作りをしているなら、見直しが必要です。タイム アウト イベントが発生するのは、セッションをイン プロセスに格納しているときだけで、アウト プロセス、SQL Server にしていると、発生しません。

# そして、アウト プロセスか、SQL Server にすることが推奨されている
みっちー
常連さん
会議室デビュー日: 2006/01/06
投稿数: 22
投稿日時: 2006-05-18 18:33
返信が遅くなり申し訳ありません。
Globel.Application_PreRequestHandlerExecute()関数で、
Ajaxで非同期通信を行っているページだけ除外して、
独自にタイマーを張る事ができました。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)