public override bool FileExists(string virtualPath) { if (ControllerActionHelper.IsControllerActionRoute(virtualPath)) { return(true); } return(VirtualPathProvider.FileExists(virtualPath)); }
public override VirtualFile GetFile(string virtualPath) { if (ControllerActionHelper.IsControllerActionRoute(virtualPath)) { return(new ControllerActionVirtualFile(virtualPath, new MemoryStream(Encoding.Default.GetBytes(ControllerActionHelper.RenderControllerActionToString(virtualPath))))); } return(VirtualPathProvider.GetFile(virtualPath)); }
public override CacheDependency GetCacheDependency(string virtualPath, IEnumerable virtualPathDependencies, DateTime utcStart) { AggregateCacheDependency aggregateCacheDependency = new AggregateCacheDependency(); List <string> virtualPathDependenciesCopy = virtualPathDependencies.Cast <string>().ToList(); // Create CacheDependencies for our virtual Controller Action paths foreach (string virtualPathDependency in virtualPathDependenciesCopy.ToList()) { if (ControllerActionHelper.IsControllerActionRoute(virtualPathDependency)) { aggregateCacheDependency.Add(new ControllerActionCacheDependency(virtualPathDependency)); virtualPathDependenciesCopy.Remove(virtualPathDependency); } } // Aggregate them with the base cache dependency for virtual file paths aggregateCacheDependency.Add(VirtualPathProvider.GetCacheDependency(virtualPath, virtualPathDependenciesCopy, utcStart)); return(aggregateCacheDependency); }