/// <summary> /// Enables all available features. /// </summary> public static ModularServiceCollection WithAllFeatures( this ModularServiceCollection modules) { modules.Configure(services => { services.AddAllFeaturesDescriptor(); }); return(modules); }
public static ModularServiceCollection WithConfiguredTenantsAndFeatures(this ModularServiceCollection modules) { modules.Configure(services => { services.AddScoped <IShellSettingsManager, FileShellSettingsManager>(); services.AddScoped <IShellDescriptorManager, FileShellDescriptorManager>(); }); return(modules); }
public static ModularServiceCollection AddConfiguration( this ModularServiceCollection modules, IConfiguration configuration) { // Register the configuration object for modules to register options with it if (configuration != null) { modules.Configure(services => services.AddSingleton <IConfiguration>(configuration)); } return(modules); }
public static ModularServiceCollection WithDefaultFeatures( this ModularServiceCollection modules, params string[] featureIds) { modules.Configure(services => { foreach (var featureId in featureIds) { services.AddTransient(sp => new ShellFeature(featureId)); } ; }); return(modules); }
public static IServiceCollection AddModuleServices(this IServiceCollection services, Action <ModularServiceCollection> configure) { services.AddWebHost(); services.AddManifestDefinition("Module.txt", "module"); services.AddExtensionLocation("Modules"); // Register custom services specific to modules var modularServiceCollection = new ModularServiceCollection(services); configure(modularServiceCollection); // Register the list of services to be resolved later on services.AddSingleton(_ => services); return(services); }