おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

« BHT-BASIC4.0:配列のリサイズについて | メイン | Windows10(x64)に「VisualBasic6.0」をインストール »

2016年11月14日 (月)

ASP.NET:スレッド毎のグローバル変数(ThreadStatic)

ASP.NETでグローバル変数を使う場合には、注意が必要です。 ASPは1個のプロセスとして動作するため、グローバル変数として宣言された変数は1カ所にしか存在しません。

そのため、複数のユーザから同時にアクセスが在った場合、そのグローバル変数を上書きする様な ことがあれば、問題が発生します。

この問題を解決するためには、 ThreadStatic を用いて、 その変数をスレッドで静的と宣言すれば、各ユーザ毎には別のグローバル変数が対応付けられます。

ASP.NETではアクセスが在ったときには、スレッドを生成し、 使い終わった時にはそれを廃棄せずにプールする様です。 次のアクセス時にはプールされたものが使われる可能性があるので、 上記のグローバル変数を使う前には必ず初期化が必要だと思います。

デル株式会社



楽天市場

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/34003210

ASP.NET:スレッド毎のグローバル変数(ThreadStatic)を参照しているブログ:

コメント

コメントを投稿