是否有使用.NET 4.0可扩展输出缓存配置AppFabric缓存的分步教程?

时间:2010-05-04 23:40:05

标签: asp.net caching appfabric

我想使用AppFabric(Velocity)作为磁盘缓存提供程序来使用ASP.NET 4.0的可扩展输出缓存功能。但是当我安装AppFabric时,我发现配置非常困难,我不知道如何让我的ASP.NET应用程序使用它。所以我想知道是否有一个易于理解的教程来配置它们?

或者,有没有比AppFarbric更简单的方法来实现ASP.NET的磁盘缓存?

1 个答案:

答案 0 :(得分:0)

我在1月份为AppFabricOutputCacheProvider编写了一些VB代码 - 它位于我的博客here上。 C#(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在他的博客here上有一个基于磁盘的输出缓存提供商。