非常に頻繁にアクセスされる、アプリケーション状態で次のインスタンスを保存したいとします。アプリケーション状態でのクラスの保存(ASP.NET)
public class Example {
public string A;
public string B;
public bool C;
public int D;
// ...
}
私はApplication["Example"]
として一緒にクラス全体を保存するかどうかを決定することができない、またはApplication["ExampleA"]
として個別にそのプロパティを格納するなど
私の思考は((Example)Application["Example"]).A
がメモリにクラス全体をコピーする必要がありますということです1つのプロパティにアクセスするだけです - そうですか?または私は間違っていますか?
アプリケーションの状態が/シリアライズ、デシリアライズする必要はありません...見、それは単にメモリ辞書にあります。コレクション内のアイテムを検索する必要がないので、静的にアクセスする方が素早くアクセスできます。アプリケーションを使用すると、無料で解決できる潜在的なスレッドの問題はありますか?静的でコード化する必要がありますか? – DoctorMick
ええ、あなたの権利はシリアル化/逆シリアル化は必要ありません。私が思っているパフォーマンス上の利点は、辞書読み込みが必要ないかキャストされていないためにわずかです。糸引きする限り、彼らは同じだと思う。 – edge2