internal BuildManagerViewEngine(IViewPageActivator viewPageActivator, IResolver<IViewPageActivator> activatorResolver, IDependencyResolver dependencyResolver, VirtualPathProvider pathProvider) { if (viewPageActivator != null) { _viewPageActivator = viewPageActivator; } else { _activatorResolver = activatorResolver ?? new SingleServiceResolver<IViewPageActivator>( () => null, new DefaultViewPageActivator(dependencyResolver), "BuildManagerViewEngine constructor"); } if (pathProvider != null) { Func<VirtualPathProvider> providerFunc = () => pathProvider; _fileExistsCache = new FileExistenceCache(providerFunc); VirtualPathProviderFunc = providerFunc; } else { if (_sharedFileExistsCache == null) { // Startup initialization race is OK providing service remains read-only _sharedFileExistsCache = new FileExistenceCache(() => HostingEnvironment.VirtualPathProvider); } _fileExistsCache = _sharedFileExistsCache; } }
internal static void ExecuteStartPage(HttpApplication application) { ExecuteStartPage(application, vpath => MonitorFile(vpath), vpath => FileExistenceCache.GetInstance().FileExists(vpath), vpath => VirtualPathFactoryManager.Instance.CreateInstance <ApplicationStartPage>(vpath), WebPageHttpHandler.GetRegisteredExtensions()); }
public BuildManagerWrapper(VirtualPathProvider vpp, IVirtualPathUtility virtualPathUtility) { _vpp = vpp; _virtualPathUtility = virtualPathUtility; _isPrecompiled = IsNonUpdatablePrecompiledApp(); if (!_isPrecompiled) { _vppCache = new FileExistenceCache(vpp); } }
private bool PageExistsInVPP(string virtualPath, bool useCache) { var cache = FileExistenceCache.GetInstance(); if (useCache && cache.VirtualPathProvider == VirtualPathProvider) { return(cache.FileExists(virtualPath)); } else { return(VirtualPathProvider.FileExists(virtualPath)); } }
public BuildManagerWrapper(Func <VirtualPathProvider> vppFunc, IVirtualPathUtility virtualPathUtility) { Contract.Assert(vppFunc != null); Contract.Assert(virtualPathUtility != null); _vppFunc = vppFunc; _virtualPathUtility = virtualPathUtility; _isPrecompiled = IsNonUpdatablePrecompiledApp(); if (!_isPrecompiled) { _vppCache = new FileExistenceCache(vppFunc); } }