【问题标题】:Is there a step-by-step tutorial for configuring AppFabric Caching with .NET 4.0 Extensible Output Caching?是否有使用 .NET 4.0 可扩展输出缓存配置 AppFabric 缓存的分步教程?
【发布时间】:2010-05-05 17:17:18
【问题描述】:

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

或者,除了 AppFarbric 之外,还有其他更简单的方法可以使用 ASP.NET 实现磁盘缓存吗?

【问题讨论】:

  • AppFabric 的配置可能有点混乱。您有什么具体需要帮助的吗?

标签: asp.net caching appfabric


【解决方案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 上有一个基于磁盘的输出缓存提供程序。

【讨论】:

  • 您好菲尔,感谢您的回答!我刚刚看到另一个解决方案:bit.ly/22wknT你知道哪个解决方案更快吗? (我只在本地服务器上存储缓存,不需要分布式存储)
  • 如果不进行测试很难说,但我预计 AppFabric 将具有优势,因为它全部在内存中完成,基于磁盘的缓存可能会有一些延迟从访问磁盘。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多