- PR -

[ASP.NET]Application変数とSession変数

1
投稿者投稿内容
ttcoupe
大ベテラン
会議室デビュー日: 2003/01/17
投稿数: 116
お住まい・勤務地: 大阪市
投稿日時: 2003-09-24 23:55
いつもお世話になります。

1つ疑問になっているのがあります。
現在、Application変数にセッション変数を格納しています。(接続プールで)
この場合にそれぞれSQLを発行するときにバインド変数を用いているのですが
その時のバインド変数は名前が同じでも多重ログイン時のデータの中身は違い
ますよね?Session変数はセッションIDがあるので理解はしやすいのですが、
Application変数はその後のコネクションでバインド変数が一意になればOK
なんですよね?

どうも多重負荷テストをした場合、中のデータが共有されているような気が
してなりません。
どなたかご教授をください。
ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-09-25 01:38
引用:
現在、Application変数にセッション変数を格納しています。(接続プールで)
この場合にそれぞれSQLを発行するときにバインド変数を用いているのですが
その時のバインド変数は名前が同じでも多重ログイン時のデータの中身は違い
ますよね?Session変数はセッションIDがあるので理解はしやすいのですが、
Application変数はその後のコネクションでバインド変数が一意になればOK
なんですよね?

イマイチ何がやりたいのか読み取れないのですが、
ソースを示されてはどうでしょうか?

引用:
どうも多重負荷テストをした場合、中のデータが共有されているような気が
してなりません。

多重負荷テストにはどのようなツールを使用されているのでしょう?
ツールによってはアクセスごとに一意なCookieが付与されるため、
Session変数は別々に扱われると思います。
makura
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 90
投稿日時: 2003-09-25 09:28
makuraです。

質問の意図するところがよくわからないのですが、
Application変数は各セッションで共有されるので、バインド変数の名前が同じならセッションが違っても中身は共有されます。
バインド変数の名前を一意のものにすればいいようにも思えますが、Application変数はアプリケーションが稼働している間はずっと保持されますので、利用者がログアウト処理を怠るなどしてApplication変数を削除する機会を失うと、やがてメモリを食いつぶします。



[ メッセージ編集済み 編集者: makura 編集日時 2003-09-25 09:41 ]
ttcoupe
大ベテラン
会議室デビュー日: 2003/01/17
投稿数: 116
お住まい・勤務地: 大阪市
投稿日時: 2004-01-13 13:37
みなさん色々とありがとうです。レスが遅れてしまいました(^o^;

同時多重テストをしている時に1つのマシンで複数のブラウザを立ち上げてテストを
行なっていたので、ブラウザによるセッションIDの使いまわしが原因でこのような
スレッドができてしまいました。ご迷惑をおかけしました。
1

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