2010-05-04 2 views
1

디스크 캐싱 공급자로 AppFabric (Velocity)을 사용하여 ASP.NET 4.0의 확장 가능한 출력 캐싱 기능을 사용하려고합니다. 하지만 AppFabric을 설치하면 구성하기가 매우 어렵다는 것을 알았고 ASP.NET 응용 프로그램을 어떻게 작동 시킬지 잘 모릅니다. 그래서 둘 다 구성하기위한 튜토리얼을 이해하기가 쉽지 않은지 궁금합니다..NET 4.0 확장 가능 출력 캐싱을 사용하여 AppFabric 캐싱을 구성하는 데 필요한 단계별 자습서가 있습니까?

또는 AppFarbric 이외의 방법으로 ASP.NET에서 디스크 캐싱을 구현할 수 있습니까?

+0

AppFabric은 약간 혼동되어 구성 할 수 있습니다. 도움이 필요한 것이 있습니까? – PhilPursglove

답변

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> 

군나르 Peipman는 자신의 블로그 here에 디스크 기반 출력 캐시 공급자가 있습니다.

+0

안녕하세요 Phil, 답변 해 주셔서 감사합니다. 방금 다른 솔루션을 보았습니다 : http://bit.ly/22wknT 어떤 솔루션이 더 빠르지 알고 계십니까? (로컬 서버에 캐시 만 저장하고 분산 된 저장소는 필요 없습니다.) – silent

+0

테스트하지 않고 말하기는 힘들지만 AppFabric은 메모리에서 완료 될 때마다 가장자리를 가지기 때문에 디스크 기반 캐시는 디스크에 액세스하는 데 약간의 지연이 있습니다. – PhilPursglove

관련 문제