Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否有使用.NET 4.0可扩展输出缓存配置AppFabric缓存的分步教程?_Asp.net_Caching_Appfabric - Fatal编程技术网

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

Asp.net 是否有使用.NET 4.0可扩展输出缓存配置AppFabric缓存的分步教程?,asp.net,caching,appfabric,Asp.net,Caching,Appfabric,我想使用AppFabric Velocity作为磁盘缓存提供程序来使用ASP.NET 4.0的可扩展输出缓存功能。但是当我安装AppFabric时,我发现它的配置非常困难,我不知道如何让我的ASP.NET应用程序与它一起工作。因此,我想知道是否有一个简单易懂的教程来配置这两者 或者,除了AppFarbric之外,还有什么更简单的方法可以用ASP.NET实现磁盘缓存吗?我在一月份为一个AppFabricoutCacheProvider写了一些VB代码——在我的博客上。C4.0版本应为: using

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


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

我在一月份为一个AppFabricoutCacheProvider写了一些VB代码——在我的博客上。C4.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在他的博客上有一个基于磁盘的输出缓存提供程序。

AppFabric的配置可能有点混乱。你有什么特别需要帮助的吗?嗨,菲尔,谢谢你的回答!我刚刚看到了另一个解决方案:你知道哪个解决方案更快吗?我只在本地服务器上存储缓存,没有分布式存储需要Shard说,不测试它,但我希望AppFabric会有优势,因为它都是在内存中完成的,基于磁盘的缓存访问磁盘可能会有一些延迟。