ASP.NET MVC Extensible Donut Caching은 Donut Caching을 ASP.NET MVC 3 이상으로 가져옵니다. 이 코드를 사용하면 모든 요청을 실행할 수있는 하나 이상의 html.actions를 제외하고 모든 페이지를 캐시 할 수 있습니다. 사용자 별 콘텐츠에 적합합니다.
MVC 프로젝트에 Donut 캐싱을 추가하는 가장 좋은 방법은 Nuget 패키지를 사용하는 것입니다. Visual Studio 내에서 도구를 선택하십시오 | 라이브러리 패키지 관리자 가 패키지 관리자 콘솔 또는 NUGET 패키지 관리 중 하나를 선택하십시오. 콘솔을 통해 설치 패키지 MVCDONUTCACHING을 입력하고 반환을 쳤다. GUI에서 MVCDONUTCaching 을 검색하고 설치 버튼을 클릭하십시오.
패키지는 내장 HTML.Action HTML 헬퍼에 여러 개의 과부하를 추가합니다. 각 오버로드의 추가 매개 변수의 이름은 ExcludeFromperatentCache 입니다. 캐시되지 않아야하거나 나머지 페이지와 다른 캐시 지속 시간이 있어야하는 모든 작업에 대해 TRUE로 설정하십시오.
@Html . Action ( "Login" , "Account" , true )패키지에는 또한 내장 출력 CacheAttribute 대신에 사용할 수있는 donutoututputcacheattribute도 포함되어 있습니다. 이 속성은 일반적으로 캐시 해야하는 모든 컨트롤러 동작에 배치됩니다.
고정 된 지속 시간을 지정할 수 있습니다.
[ DonutOutputCache ( Duration = "300" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}또는 캐시 프로필 사용 :
[ DonutOutputCache ( CacheProfile = "FiveMins" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}캐시 프로파일을 사용하는 경우 Web.config에서 프로파일을 구성하십시오. System.web 요소 내에 다음을 추가하십시오.
< caching >
< outputCacheSettings >
< outputCacheProfiles >
< add name = " FiveMins " duration = " 300 " varyByParam = " * " />
</ outputCacheProfiles >
</ outputCacheSettings >
</ caching >사용자 정의 제공 업체를 사용하도록 출력 캐시를 구성 할 수도 있습니다.
< caching >
< outputCache defaultProvider = " DistributedCacheProvider " >
< providers >
< add name = " DistributedCacheProvider " type = " DevTrends.Example.DistributedCacheProvider " />
</ providers >
</ outputCache >
</ caching >이 프로젝트에는 사용자 정의 제공 업체가 포함되어 있지 않지만 서브 클래스 시스템 .web.caching.outputcacheprovider를 통해 상당히 쉽게 작성할 수 있습니다. 웹에서도 여러 구현을 사용할 수 있습니다.
MVC Extensible Donut Caching에 대한 포괄적 인 가이드는 이제 DevTrends 블로그에서 제공됩니다.