我想使用AppFabric(Velocity)作为磁盘缓存提供程序来使用ASP.NET 4.0的可扩展输出缓存功能。但是当我安装AppFabric时,我发现配置非常困难,我不知道如何让我的ASP.NET应用程序使用它。所以我想知道是否有一个易于理解的教程来配置它们?
或者,有没有比AppFarbric更简单的方法来实现ASP.NET的磁盘缓存?
答案 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上有一个基于磁盘的输出缓存提供商。