2009-09-13 9 views
0

現在、私はカスタムのPerWebRequestLifetimeManagerを、バッキングストアとしてHttpContext.Current.Itemsを使用して作成しました。私はLinq2Sql DataContextの生涯マネージャーを使用しました。
データを保存するためにキャッシュを使用するまで(5分間)、Eveythingは正常に機能しています。 5分後、私はDBからデータを取り出し、それをキャッシュに入れる必要があります。これを行うには、Linq2Sql DataContextを使用してデータを取得する必要があります。しかし、その間、HttpContext.Currentは、キャッシュが期限切れになったときに発生したため、nullです。ウェブリクエストではありません。
このシナリオではどのようなLifetimeManagerを使用しますか?PerWebRequest LifetimeManagerおよびそれ以降(Asp.net MVC)

ありがとうございます。

答えて

0

長年のDataConextが必要ですか?コンテナLifeTimeManagerを使用します。アプリケーションレベル(おそらくあなたのGlobal.asax)にあるコンテナを作成し、それを使ってこの特定のシナリオでDataContextを解決します。

私は、キャッシュに保持されていることを避けるのではなく、可能であれば、そのタスクを非同期で実行する可能性があります。

これが役に立ちます。