1

AppFabric (Velocity) をディスク キャッシュ プロバイダーとして使用して、ASP.NET 4.0 の拡張可能な出力キャッシュ機能を使用したいと考えています。しかし、AppFabric をインストールしたところ、構成が非常に難しく、ASP.NET アプリをそれと連携させる方法がわかりませんでした。それで、両方を構成するためのわかりやすいチュートリアルがあるのだろうかと思っていましたか?

または、AppFarbric 以外に、ASP.NET でディスク キャッシュを実装する簡単な方法はありますか?

4

1 に答える 1

0

私は 1 月に AppFabricOutputCacheProvider の VB コードをいくつか書きました。AC# (4.0) バージョンは次のようになります。

using System.Web;  
using Microsoft.ApplicationServer.Caching;

namespace AppFabricOutputCache
{
    public class CacheProvider: System.Web.Caching.OutputCacheProvider, IDisposable
    {
        DataCache mCache;

        const String OutputCacheName = "OutputCache";

        public void New()
        {
            DataCacheFactory factory;

            factory = new DataCacheFactory();

            mCache = factory.GetCache(OutputCacheName);
        }

        public override Object Add(String key, Object entry, DateTime utcExpiry)
        {
            mCache.Add(key, entry, utcExpiry - DateTime.UtcNow);

            return entry;
        }

        public override object Get(string key)
        {
            return mCache.Get(key);
        }

        public override void Remove(string key)
        {
            mCache.Remove(key);
        }

        public override void Set(string key, object entry, DateTime utcExpiry)
        {
            mCache.Put(key, entry, utcExpiry - DateTime.UtcNow);
        }

        public void IDisposable.Dispose()
        {
            mCache = null;
        }

    }
}

アプリケーションでこれを使用するには、web.config でこれが必要です。

<caching>
  <outputCache>
    <providers>
      <add name="AppFabricOutputCacheProvider" type="AppFabricOutputCache.CacheProvider"/>
    </providers>
  </outputCache>
</caching>

Gunnar Peipman は、こちらのブログでディスクベースの出力キャッシュ プロバイダーを公開しています。

于 2010-05-05T07:19:18.180 に答える