0

.NET Framework 4.0 で実行されている ASP.NET ページがあります。

現時点では、アプリケーションのリフトタイム全体で使用できるはずのいくつかの値をHttpContext.Current.Application["keyToTheValue"]に保存しています。

これは、無期限に必要な値を保存する場所として間違っているのでしょうか? または、これらの値をリサイクルしないようにアプリケーションを構成するにはどうすればよいでしょうか?

重要なお知らせ: 実際には統合モードでページを実行していますが、これはアプリケーションのキャッシュに何らかの影響を与えている可能性があります。

4

4 に答える 4

1

アプリケーションにデータを保存することに問題はありませんが、IISのリセットでリセットされるという制限があります。したがって、シナリオに応じて使用してください。

于 2012-06-29T05:24:38.463 に答える
1

Applicationオブジェクトを使用しても問題はありませんが、アプリケーションが閉じた場合でもデータを保持したい場合は(遅かれ早かれ発生するはずです)、値をデータベースに保存する方がよい場合があります。

于 2012-06-29T05:02:42.373 に答える
1

データが機密である場合は、それを生涯使用するためにDBに保存します..それほど機密ではないので、永続的なCookieを使用して有効期限を最大に設定します...

于 2012-06-29T05:12:04.580 に答える
1

それはデータと環境に依存しますが、グローバル値のアプリケーションを使用する単純なデータの場合はおそらく問題ありません。より高度なシナリオについては、System.Web.Caching 名前空間を確認する必要があります。また、何らかの Web ファームまたはクラスターにいる場合は、複数のサーバー間で共有できるように、独自のグローバル データ ストアを展開する必要がある場合があります。

于 2012-06-29T05:03:18.087 に答える