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;
            }
        }
Esempio n. 2
0
 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));
            }
        }
Esempio n. 5
0
        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);
            }
        }