2013-09-26 1 views
1

나는 이것을 위해 높고 낮음을 찾고 있었지만 올바른 대답을 찾을 수 없습니다.캐싱이 활성화 된 과수원 CMS 위젯/모듈 만들기

나는 그것을 사용하는 위젯과 함께 오차드에 모듈을 작성했으며 이제는 클래스에서 데이터베이스 쿼리를 캐싱 할 수있게하려고합니다.

내 모듈 및 위젯에 캐싱을 추가하는 방법에 대한 문서가 있습니까?

출력 캐시와 syscache를 사용하려고했지만 Orchard와 함께 제공되는 모듈에서만 작동합니다 (SQL Server 프로파일 러에서 확인한 결과 내 쿼리는 항상 전송됩니다) Orchard는 콘텐츠 등을 쿼리하지만 캐시되지는 않습니다.

+1

오차드 내장 캐시 구현할 수 있습니다. 자세한 정보 http://weblogs.asp.net/bleroy/archive/2011/02/16/caching-items-in-orchard.aspx 및 http://www.nogginbox.co.uk/blog/orchard-caching- 한시적으로 – mberacochea

답변

0

ICacheManager를 사용할 수 있습니다.

은 생성자에 ICacheManager의 인스턴스를 주입 한 다음 방법에 당신은 사용하여 값을 캐시 할 수 있습니다 : caching in Orchard : 내 블로그 게시물에 대한보다 상세한 예제를 작성했습니다

var myCachedValue = _cacheManager.Get("My-Value-Cache-Key", ctx => { 
    ctx.Monitor(_clock.When(TimeSpan.FromMinutes(20))); 
    return SlowFunctionSoNeedsCaching(); 
}); 

.