/// <summary> /// Creates a cache dependency based on the specified virtual paths. /// </summary> /// <param name="definition">The definition.</param> /// <param name="virtualPath">The path to the primary virtual resource.</param> /// <returns> /// A <see cref="T:System.Web.Caching.CacheDependency"/> object for the specified virtual resources. /// </returns> public CacheDependency GetCacheDependency(PathDefinition definition, string virtualPath, IEnumerable virtualPathDependencies, DateTime utcStart) { virtualPath = this.virtualPathBuilder.RemoveParams(virtualPath); virtualPath = VirtualPathUtility.ToAppRelative(virtualPath); var layoutVirtualPathBuilder = new LayoutVirtualPathBuilder(); string viewName = layoutVirtualPathBuilder.GetLayoutName(definition, virtualPath); var layoutTemplateBuilder = new LayoutRenderer(); if (string.IsNullOrEmpty(viewName)) return null; var viewPath = layoutTemplateBuilder.LayoutViewPath(viewName); return HostingEnvironment.VirtualPathProvider.GetCacheDependency(viewPath, virtualPathDependencies, utcStart); }
/// <summary> /// Creates a cache dependency based on the specified virtual paths. /// </summary> /// <param name="definition">The definition.</param> /// <param name="virtualPath">The path to the primary virtual resource.</param> /// <returns> /// A <see cref="T:System.Web.Caching.CacheDependency"/> object for the specified virtual resources. /// </returns> public CacheDependency GetCacheDependency(PathDefinition definition, string virtualPath, IEnumerable virtualPathDependencies, DateTime utcStart) { virtualPath = this.virtualPathBuilder.RemoveParams(virtualPath); virtualPath = VirtualPathUtility.ToAppRelative(virtualPath); var layoutVirtualPathBuilder = new LayoutVirtualPathBuilder(); string viewName = layoutVirtualPathBuilder.GetLayoutName(definition, virtualPath); var layoutTemplateBuilder = new LayoutRenderer(); if (string.IsNullOrEmpty(viewName)) { return(null); } var viewPath = layoutTemplateBuilder.LayoutViewPath(viewName); return(HostingEnvironment.VirtualPathProvider.GetCacheDependency(viewPath, virtualPathDependencies, utcStart)); }