サンプルコードGlobalInformation.zip .Netでのグローバル変数の持ち方について考えてみます。 グローバル変数は、変数の生存期間(ライフタイム)と適用範囲(スコープ)を最小にするという原則に従って極力使わないようにするべきものですが、逆に言えば生存期間がアプリケーション開始直後から終了まで、適用範囲がアプリケーション全体に渡る変数はグローバル変数で保持するべきと言えます。設定ファイルの内容だとか、アプリ全体の状態などが該当すると思います。 グローバル変数というと一般的にはプロセスレベルですが、スレッドレベルでもグローバル変数を保持したい場合があります。よくあるのは、多数のクライアントからリクエストを受け付けるサーバアプリケーションでクライアントのリクエストに含まれるユーザIDやIPアドレスなどがあります。.Net RemotingやWCFで有効なプログラミングテクニック