ASP.Netアプリケーション状態オブジェクトのリサイクルオプション
-
06-07-2019 - |
質問
ASP.Netアプリケーション状態オブジェクトをリサイクルするためのオプションは何ですか?このオブジェクトを使用して、Webサービスベースのデータアクセスレイヤーのデータベース接続のキューを格納しています。数日/数週間/月をかけて、使用されなくなったデータベースへの接続で増加するメモリの合計を割り当てることになります。接続は必要に応じて自動的に生成されるため、接続を維持することはそれほど重要ではありません。
アプリケーションの状態を選択的に解析し、必要のないものだけをドロップするのは素晴らしいことです。しかし、実際には、オブジェクト全体をドロップし、新たに開始するだけでも同様に機能します。ただし、パージプロセスが現在使用中の接続を強制終了しないように注意する必要があります。
解決
接続のキャッシュを開始する前に何が起きましたか?それらをキャッシュすると、パフォーマンスまたはリソース使用率の測定可能な改善が生じましたか? ADO.NETが接続プーリングを行うことを考えると、そうなった場合は少し驚かされます。
アプリケーション状態のリサイクルオプションはありません。サーバーごと、AppDomainごとです。
別のキャッシュオプションについては、Cacheオブジェクトの使用を検討してください。アプリケーションごとでもありますが、一定時間後に期限切れになるようにキャッシュエントリを設定できます。
他のヒント
いくつかのテストを行ったところ、アプリケーションオブジェクトはアプリプールに存在するようです。 (アプリケーションプールをリサイクルすると、アプリケーションオブジェクトのデータが消去されます。)
所属していません StackOverflow