実装方法のカスタムキャッシュ-プロバイダASP.NET MVC
-
22-08-2019 - |
質問
私に移行する モノレール への応用 ASP.NET MVC1.0.私の原本申請書いたカスタムキャッシュのプロバイダー(分散型キャッシュのプロバイダを使用 memcached).モノレールでこのタスクが非常に容易で、枠組みを用インターフェイスはありま ICacheProvider るようになります:
public interface ICacheProvider : IProvider, IMRServiceEnabled
{
void Delete(string key);
object Get(string key);
bool HasKey(string key);
void Store(string key, object data);
}
インスタンスのこのインタフェースはあらゆるコントローラです。ないため、キャッシュカスタムプロバイダを使用するmemcachedい モノレール用マキャッシュのプロバイダの代わりにデフォルトです。また、非常に簡単に模擬および単体テストまでの私のコントローラです。
にASP.NET MVC1.0があります。ます。抽象化会(名が期待)を定義する HttpContextBase このように:
public abstract class HttpContextBase : IServiceProvider
{
...
public virtual System.Web.Caching.Cache Cache { get; }
...
}
かわからないどのようにキャッシュ財産は、ここで用いる抽象化のキャッシュのプロバイダです。で、密封され キャッシュ クラスです。をやらせてもらえるようになっだけではな 苦しむ模擬 の授業の枠組み
私は非常に新しいASP.NET MVCの枠組みが必要とな情報を見落とさないようです。ただ単に"サムネやエンジンCustomBaseControllerを用いたICacheProviderインタフェースを定義しまや 全てのコントローラからこの基底クラスである場合によりエレガント(ASP.NET MVCish)溶液に私には嬉しい実行いたします。のっHttpContextBaseを実装し IServiceProvider.しかしその GetService 方法を探りますか?このまま簡単に英?
解決
キャッシュには公式の抽象概念やプロバイダーはありませんが、簡単に構築できます。
- http://weblogs.asp.net/zowens/archive/2008/08/04/cache-abstraction.aspx
- http://memcachedproviders.codeplex.com/SourceControl/changeset/view/15983#58762
ASP.NET 4.0 には、 出力キャッシュプロバイダーの抽象化 (私の知る限り ない 一般的なキャッシュ抽象化ですが、 出力 キャッシング)
他のヒント
この答えは時代遅れです。見 ASP.NET 4.0:文書のカスタム出力キャッシュダ.