public override void OnActionExecuting(ActionExecutingContext filterContext) { _currentItem = filterContext.Controller.ControllerContext.RouteData.Values[ContentRoute.ContentItemKey] as ContentItem; if (_currentItem != null && _cachingService.IsPageCached(_currentItem)) { string cachedHtml = _cachingService.GetCachedPage(_currentItem); filterContext.Result = new ContentResult { Content = cachedHtml }; return; } if (_currentItem != null && _currentItem.GetPageCachingEnabled()) { _originalOutputStream = filterContext.HttpContext.Response.Filter; HttpResponseBase response = filterContext.HttpContext.Response; response.Flush(); response.Filter = new CapturingResponseFilter(response.Filter); } }