私は、アプリケーションのすべてのインスタンスで共有される読み取り専用リストを持っており、頻繁に変更されることはありません。このリストにアクセスするには、静的クラスのプロパティを作成することをお勧めしますか?リストは静的コンストラクターのデータベースから入力されます。毎晩リサイクルするようにアプリケーションプールを設定すると、リストが毎日最新のものになることが保証されますか?これが悪い考えである理由はありますか?ありがとう!これは静的クラスに適していますか?
3
A
答えて
2
静的クラスに問題はありません。同様に動作するキャッシュを使用することもできます。キャッシュは、あなたが選択した時間に基づいてキャッシュを無効にできるという追加の特典を与えます。
2
0
静的プロパティの保存方法を理解する必要があります。
すべての静的状態は、RuntimeType(静的ctorが呼び出されたときに作成される)のインスタンスに配置されます。 CLR via C#では、このメカニズムを詳細に説明しています。
このコレクションはすべてのインスタンスで共有されますが、すべての潜在的なメモリリークを覚えておく必要があります(コレクションイベントに登録していて、彼らは閉じているなど)
このアプローチの第2の欠点は、このコレクションが最新ではないということです。 第3の欠点は、このコレクションのスレッドの安全性に注意を払う必要があることです。これにより、パフォーマンスが低下します。
関連する問題
- 1. 外部クラスを静的として定義し、内部静的クラスを囲むことはできますか?
- 2. CLRは静的クラスをどこに格納しますか?
- 3. 静的クラスはAppDomain間で共有されていますか?
- 4. について静的クラス
- 5. 静的初心者:静的なクラス/メソッド内の静的でない変数は静的なことを暗示していますか?
- 6. クラスは別のクラスの静的メンバーとして定義されています
- 7. ? (静的クラスに対して)
- 8. PHP:静的は非静的より優れていますか?
- 9. この静的クラスはマルチユーザーシナリオで破損しますか?
- 10. 静的クラス...これは問題ありませんか?
- 11. プログラムは、エントリポイントに適した静的な「メイン」メソッドが含まれていません:私も、静的
- 12. 静的クラスはSwiftによってサポートされていますか?
- 13. は、静的クラスに
- 14. 静的ネストされたクラスから非静的ネストされたクラスの非静的メソッドにアクセスすることができます
- 15. プライベート静的内部クラスにはカプセル化が推奨されていますか?
- 16. 静的クラスのスタイル、フォント、イメージを参照していますか?
- 17. 静的/非静的内部クラス:タイプパラメータTがタイプを隠しています
- 18. クラスの静的メンバは、これは以下を生成し
- 19. 静的メソッドを静的クラスから別のスレッドにアクセスします。それは安全ですか?
- 20. 静的クラスを変数に割り当てることはできますか?
- 21. クラスと派生クラスのインスタンスは、非静的メソッドを介して間接的にクラスの静的メンバーを変更することができます。#
- 22. 静的クラスは別のクラスを拡張しますか?
- 23. 静的クラスにインスタンス初期化ブロックが含まれていますか?
- 24. C#このクラスの主なオブジェクトのインジケータとしての静的でないクラスの静的プロパティ
- 25. 静的クラスと静的メソッド
- 26. クラスの静的関数は、グローバル静的変数にアクセスできますか?
- 27. クラス内に動的静的変数を作成しますか?
- 28. 静的メソッド内のローカル変数は、静的ていますか?
- 29. PowerMock静的クラスはモックしない
- 30. 静的メソッドは子クラスに依存しますか?
は私によく聞こえます。しかし、struct /(sealed)クラスではできなかったことはありません。任意のタイプには静的メンバーが含まれている可能性があります – sehe
ああ、子どものことを考えてみましょう:あなたのリストを変更不可能なコレクションとして公開してください – sehe