示例#1
0
        /// <summary>
        /// Uninitializes the controllers that are available to the web application.
        /// </summary>
        public virtual void Uninitialize()
        {
            this.RegisterStringResources();

            this.UninitializeGlobalFilters();

            foreach (var assembly in this.ControllerContainerAssemblies)
            {
                this.UninitializeControllerContainer(assembly);
            }

            this.ControllerContainerAssemblies = null;

            // Clears all controllers
            foreach (var ctrl in ControllerStore.Controllers().ToList())
            {
                ControllerStore.RemoveController(ctrl.ControllerType);
            }

            var sitefinityViewEngines = ViewEngines.Engines.Where(v => v != null && v.GetType() == typeof(CompositePrecompiledMvcEngineWrapper)).ToList();

            foreach (var sitefinityViewEngine in sitefinityViewEngines)
            {
                ViewEngines.Engines.Remove(sitefinityViewEngine);
            }

            var sitefinityViewEngineExists = ViewEngines.Engines.Any(v => v.GetType() == typeof(SitefinityViewEngine));

            if (!sitefinityViewEngineExists)
            {
                // add Sitefinity view engine
                ViewEngines.Engines.Add(new SitefinityViewEngine());
            }
        }
        /// <summary>
        /// Uninitializes the controllers that are available to the web application.
        /// </summary>
        public virtual void Uninitialize()
        {
            this.RegisterStringResources();

            this.UninitializeGlobalFilters();

            foreach (var assembly in this.ControllerContainerAssemblies)
            {
                this.UninitializeControllerContainer(assembly);
            }

            this.ControllerContainerAssemblies = null;

            // Clears all controllers
            foreach (var ctrl in ControllerStore.Controllers().ToList())
            {
                ControllerStore.RemoveController(ctrl.ControllerType);
            }
        }