- PR -

ASP.NETでShared変数の値が一瞬変わってしまう

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-02-23 23:23
引用:

どっとねっとふぁんさんの書き込み (2007-02-23 00:45) より:
ASP.NET 2.0では動的にコンパイルされるクラスはApp_Codeという名前のフォルダに
配置する必要がありますね。


あらら。ありがとうございます。

 で、「値がリセットされる」のか、「値をリセットしている」のかの違いは、まず確認するべきだと思うのですが。。。

でも、かるあさんの指摘がビンゴ!な気がする。
_________________
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-02-24 11:55
引用:

ASP.NET で Shread 変数は使ったことが無いのですが、
アプリケーションの再起動が走って値がリセットされているとか言うことは無いでしょうか。
そうなるとおそらく InProc を使っていると思われるんだけれど。。。


それは Session の話っぽいですね。
InProc じゃなくても、再起動がかかったら Shared 値はリセットされますね。
_________________
囚人のジレンマな日々
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2007-02-24 15:18
引用:

囚人さんの書き込み (2007-02-24 11:55) より:
InProc じゃなくても、再起動がかかったら Shared 値はリセットされますね。


最初に0になるというのを見たときまず再起動を思い浮かべたんですが、

引用:

変数を取得する際にメッセージボックスで値を確認したところ、0になっていることは確認できました。
しかし、メッセージボックスを表示した直後に再度メッセージボックスで変数値を確認したところ、1回目のメッセージボックスの値は「0」で2回目のメッセージボックスの値が「1」に変わっていました。


これを見ると微妙なんですよね…
まあでも可能性は高い気もしますが。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-02-24 16:11
引用:

なちゃさんの書き込み (2007-02-24 15:18) より:
引用:

変数を取得する際にメッセージボックスで値を確認したところ、0になっていることは確認できました。
しかし、メッセージボックスを表示した直後に再度メッセージボックスで変数値を確認したところ、1回目のメッセージボックスの値は「0」で2回目のメッセージボックスの値が「1」に変わっていました。


これを見ると微妙なんですよね…



ページを参照したタイミングの問題じゃないですか?
排他制御もしてないんだろうし。

まぁ、なんにしろ ASP.NET で静的変数を宛にすること自体間違いなんで、マジメに追求しても大して得るものはないかと。

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