2

広く使用しているレガシー アプリケーションがありますHttpContext.Cache...このアプリケーションは、 Windows Azure (マルチロール)
に移行することを想定しています。 もちろん、さまざまなロールでキャッシュが同期しなくなるという問題が発生します。"AzureCacheWrapper" (wrapper on ) を注入(Autofac を使用)すること を考えていたので、レガシー アプリケーションは引き続き動作しますが、代わりに Azure キャッシュを使用しますか? 通常、次のようなものを実装する必要がありますが、残念ながら、アクセスできないキャッシュを使用しているサードパーティの DLL がいくつかあります (サードパーティのライブラリがいつ HTTP キャッシュを使用しているかわかりません)。

Microsoft.ApplicationServer.Caching.DataCacheHttpContext.Cache

ICacheProvider

web.config (OutputCaching など) を使用してキャッシュ プロバイダーを構成できるとは思わないため、Runtime Cache の Add/Insert/Get メソッドに実装を何らかの方法で挿入することが唯一の解決策のようです。HttpContextBase残念ながら、System.Web.Caching.Cache (封印されたクラス) の .NET 実装のため、オーバーライドして別のキャッシュを返すか、それ自体に挿入することはできないと思いますSystem.Web.Caching.Cache...

助けてくれてありがとう!:)

4

1 に答える 1

0

あなたのアプリケーションにはコード/アーキテクチャの変更が必要だと思います...

キャッシュの取得と設定を処理する独自のクラスがあれば、コード/アーキテクチャを 1 か所で簡単に変更できます。

単一の役割を使用する場合、シナリオに問題はありません。可能であれば、Webrole を ExtraLarge スロットで実行できます。

于 2013-01-24T15:20:22.357 に答える