/// <summary> /// Gets the first plugin section. /// </summary> /// <typeparam name="TSection">The type of the section.</typeparam> /// <param name="manager">The manager.</param> /// <param name="sectionName">Name of the section.</param> /// <returns></returns> public static TSection GetFirstPluginSection <TSection>(this DeepConfigManager manager, string sectionName) where TSection : ConfigurationSection { var settings = PluginManagerConfiguration.GetSettings(); return(manager.GetFirstWebSetting <TSection, TSection>(sectionName, x => x, settings.PluginsPath)); }
/// <summary> /// Gets the first configuration setting matching <paramref name="sectionName"/> by calling <see cref="DeepConfigManager.GetWebSettings{TSection,TOut}(string,Func{TSection,TOut},string,string,string)"/>. /// See that method for an example. The relative plugin base path in <see cref="PluginManagerConfiguration.PluginsPath"/> is mapped to a physical path using the <see cref="System.Web.HttpContextWrapper"/> supplied to this instance /// <paramref name="manager"/> in its constructor. /// </summary> /// <typeparam name="TSection">The type of the section.</typeparam> /// <typeparam name="TOut">The type outputted by the expression in <paramref name="deferred"/>.</typeparam> /// <param name="manager">The manager.</param> /// <param name="sectionName">Name of the section in the configuration files.</param> /// <param name="deferred">The deffered expression.</param> /// <returns></returns> public static TOut GetFirstPluginSetting <TSection, TOut>(this DeepConfigManager manager, string sectionName, Expression <Func <TSection, TOut> > deferred) where TSection : ConfigurationSection where TOut : class { var settings = PluginManagerConfiguration.GetSettings(); return(manager.GetFirstWebSetting(sectionName, deferred, settings.PluginsPath)); }
/// <summary> /// Gets the plugin settings. /// </summary> /// <typeparam name="TSection">The type of the section.</typeparam> /// <typeparam name="TOut">The type of the out.</typeparam> /// <param name="manager">The manager.</param> /// <param name="sectionName">Name of the section.</param> /// <param name="deferred">The deferred.</param> /// <returns></returns> public static IEnumerable <TOut> GetPluginSettings <TSection, TOut>(this DeepConfigManager manager, string sectionName, Expression <Func <TSection, TOut> > deferred) where TSection : ConfigurationSection where TOut : class { var settings = PluginManagerConfiguration.GetSettings(); var pluginBasePath = settings != null ? settings.PluginsPath : "~/Config/"; return(manager.GetWebSettings(sectionName, deferred, pluginBasePath)); }
public void InitialiseWithCustomILogger() { TestLogger testLogger = new TestLogger(); PluginManagerConfiguration configuration = new PluginManagerConfiguration(testLogger); PluginManagerService.Initialise(configuration); ILogger pluginManagerLogger = PluginManagerService.GetLogger(); Assert.AreNotEqual(pluginManagerLogger.GetType().TypeHandle.Value, testLogger.GetType().TypeHandle.Value); }
public static void Main(string[] args) { // add plugins which need to be loaded first PluginManagerService.UsePlugin(typeof(ErrorManager.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(BadEgg.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(RestrictIp.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(UserSessionMiddleware.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(CacheControl.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(MemoryCache.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(Spider.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(SeoPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(Localization.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(Breadcrumb.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(WebSmokeTest.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(GeoIp.Plugin.PluginInitialisation)); PluginManagerConfiguration configuration = new PluginManagerConfiguration(); configuration.ServiceConfigurator = new ServiceConfigurator(); // Initialise the plugin manager service PluginManagerService.Initialise(configuration); try { // Add generic plugins where load order does not matter PluginManagerService.UsePlugin(typeof(DocumentationPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(ProductPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(ShoppingCartPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(HelpdeskPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(UserAccount.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(LoginPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(Sitemap.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(SystemAdmin.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(DownloadPlugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(Company.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(Blog.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(DemoWebsitePlugin.Plugin.PluginInitialisation)); PluginManagerService.UsePlugin(typeof(DemoApiPlugin.PluginInitialisation)); CreateWebHostBuilder(args).Build().Run(); } finally { PluginManagerService.Finalise(); } }
/// <summary> /// Returns a collection of all connection string registered via deep config /// </summary> /// <param name="manager"></param> /// <returns></returns> public static IEnumerable <ConnectionStringSettings> GetConnectionStrings(this DeepConfigManager manager) { var settings = PluginManagerConfiguration.GetSettings(); return(manager.GetConnectionStrings(settings.PluginsPath)); }
static UnitTestHelper() { PluginManagerConfiguration configuration = new PluginManagerConfiguration(); //PluginSettings settings = null; }