WCF Data Services와 함께 출력 캐싱을 사용하고 캐싱을 지원하기 위해 특별히 제작 된 것은 없지만 OnStartProcessingRequest 메서드를 사용하면 캐싱 기능을 사용할 수 있습니다. 요청은 일반적인 ASP.NET 메커니즘을 사용합니다.ASP.NET 출력 캐시 메모리 사용 제어
큰 응답을 캐시하면 과도한 메모리 소비로 인해 작업 프로세스가 재활용되는 걱정이됩니다. 이 제한을 초과하면 캐시의 항목이 삭제되도록 ASP.NET 출력 캐시의 상한을 지정하는 방법이 있습니까?
구성 설정이 caching 인 것을 보았습니다. 그러나 메모리 관련 특성이없는 별도의 outputCacheSettings이 있기 때문에 캐시 개체를 통한 명시 적 캐싱에 대한 문서의 느낌을 얻었습니다.
여기에 Scott Hanselman's post의 코드 스 니펫은 요청의 캐시 가능성을 설정하는 방법을 보여줍니다.
protected override void OnStartProcessingRequest(ProcessRequestArgs args)
{
base.OnStartProcessingRequest(args);
//Cache for a minute based on querystring
HttpContext context = HttpContext.Current;
HttpCachePolicy c = HttpContext.Current.Response.Cache;
c.SetCacheability(HttpCacheability.ServerAndPrivate);
c.SetExpires(HttpContext.Current.Timestamp.AddSeconds(60));
c.VaryByHeaders["Accept"] = true;
c.VaryByHeaders["Accept-Charset"] = true;
c.VaryByHeaders["Accept-Encoding"] = true;
c.VaryByParams["*"] = true;
}