internal void LoadProviders(HttpContextBase http) { // if there is no section found, then create one if (ConfigSection == null) { //create a new section with the default settings ConfigSection = new ClientDependencySection(); } FileRegistrationProviderCollection = new FileRegistrationProviderCollection(); CompositeFileProcessingProviderCollection = new CompositeFileProcessingProviderCollection(); MvcRendererCollection = new RendererCollection(); FileMapProviderCollection = new FileMapProviderCollection(); var rootPath = HttpRuntime.AppDomainAppVirtualPath ?? "/"; //need to check if it's an http path or a lambda path var path = ConfigSection.CompositeFileElement.CompositeFileHandlerPath; CompositeFileHandlerPath = path.StartsWith("~/") ? VirtualPathUtility.ToAbsolute(ConfigSection.CompositeFileElement.CompositeFileHandlerPath, rootPath) : ConfigSection.CompositeFileElement.CompositeFileHandlerPath; //load the providers from the config, if there isn't config sections then add default providers // and then load the defaults. LoadDefaultCompositeFileConfig(ConfigSection, http); ////Here we need to detect legacy settings //if (ConfigSection.CompositeFileElement.DefaultFileProcessingProviderLegacy != "CompositeFileProcessor" // && ConfigSection.CompositeFileElement.DefaultFileProcessingProvider == "CompositeFileProcessor") //{ // //if the legacy section is not the default and the non-legacy section IS the default, then use the legacy section // DefaultCompositeFileProcessingProvider = CompositeFileProcessingProviderCollection[ConfigSection.CompositeFileElement.DefaultFileProcessingProviderLegacy]; //} //else //{ // DefaultCompositeFileProcessingProvider = CompositeFileProcessingProviderCollection[ConfigSection.CompositeFileElement.DefaultFileProcessingProvider]; //} DefaultCompositeFileProcessingProvider = CompositeFileProcessingProviderCollection[ConfigSection.CompositeFileElement.DefaultFileProcessingProvider]; if (DefaultCompositeFileProcessingProvider == null) throw new ProviderException("Unable to load default composite file provider"); LoadDefaultFileMapConfig(ConfigSection, http); DefaultFileMapProvider = FileMapProviderCollection[ConfigSection.CompositeFileElement.DefaultFileMapProvider]; if (DefaultFileMapProvider == null) throw new ProviderException("Unable to load default file map provider"); LoadDefaultMvcFileConfig(ConfigSection); DefaultMvcRenderer = MvcRendererCollection[ConfigSection.MvcElement.DefaultRenderer]; if (DefaultMvcRenderer == null) throw new ProviderException("Unable to load default mvc renderer"); LoadDefaultFileRegConfig(ConfigSection); DefaultFileRegistrationProvider = FileRegistrationProviderCollection[ConfigSection.FileRegistrationElement.DefaultProvider]; if (DefaultFileRegistrationProvider == null) throw new ProviderException("Unable to load default file registration provider"); if (string.IsNullOrEmpty(ConfigSection.LoggerType)) { Logger = new TraceLogger(); } else { var t = Type.GetType(ConfigSection.LoggerType); if (!typeof(ILogger).IsAssignableFrom(t)) { throw new ArgumentException("The loggerType '" + ConfigSection.LoggerType + "' does not inherit from ClientDependency.Core.Logging.ILogger"); } Logger = (ILogger)Activator.CreateInstance(t); } }
internal void LoadProviders(ClientDependencySection section, HttpContextBase http) { ConfigSection = section; FileRegistrationProviderCollection = new FileRegistrationProviderCollection(); CompositeFileProcessingProviderCollection = new CompositeFileProcessingProviderCollection(); MvcRendererCollection = new RendererCollection(); // if there is no section found, then create one if (ConfigSection == null) { //create a new section with the default settings ConfigSection = new ClientDependencySection(); } //load the providers from the config, if there isn't config sections then add default providers LoadDefaultCompositeFileConfig(ConfigSection, http); LoadDefaultMvcFileConfig(ConfigSection); LoadDefaultFileRegConfig(ConfigSection); //set the defaults DefaultFileRegistrationProvider = FileRegistrationProviderCollection[ConfigSection.FileRegistrationElement.DefaultProvider]; if (DefaultFileRegistrationProvider == null) throw new ProviderException("Unable to load default file registration provider"); DefaultCompositeFileProcessingProvider = CompositeFileProcessingProviderCollection[ConfigSection.CompositeFileElement.DefaultProvider]; if (DefaultCompositeFileProcessingProvider == null) throw new ProviderException("Unable to load default composite file provider"); DefaultMvcRenderer = MvcRendererCollection[ConfigSection.MvcElement.DefaultRenderer]; if (DefaultMvcRenderer == null) throw new ProviderException("Unable to load default mvc renderer"); //need to check if it's an http path or a lambda path var path = ConfigSection.CompositeFileElement.CompositeFileHandlerPath; CompositeFileHandlerPath = path.StartsWith("~") ? VirtualPathUtility.ToAbsolute(ConfigSection.CompositeFileElement.CompositeFileHandlerPath, http.Request.ApplicationPath) : ConfigSection.CompositeFileElement.CompositeFileHandlerPath; Version = ConfigSection.Version; FileBasedDependencyExtensionList = ConfigSection.FileBasedDependencyExtensionList.ToList(); if (string.IsNullOrEmpty(ConfigSection.LoggerType)) { Logger = new NullLogger(); } else { var t = Type.GetType(ConfigSection.LoggerType); if (!typeof(ILogger).IsAssignableFrom(t)) { throw new ArgumentException("The loggerType '" + ConfigSection.LoggerType + "' does not inherit from ClientDependency.Core.Logging.ILogger"); } Logger = (ILogger)Activator.CreateInstance(t); } }