public static ModularApplicationBuilder UseStaticFilesModules(this ModularApplicationBuilder modularApp) { modularApp.Configure(app => { var extensionManager = app.ApplicationServices.GetRequiredService <IExtensionManager>(); var env = app.ApplicationServices.GetRequiredService <IHostingEnvironment>(); // TODO: configure the location and parameters (max-age) per module. var availableExtensions = extensionManager.GetExtensions(); foreach (var extension in availableExtensions) { var contentPath = Path.Combine(extension.ExtensionFileInfo.PhysicalPath, "Content"); if (Directory.Exists(contentPath)) { app.UseStaticFiles(new StaticFileOptions { RequestPath = "/" + extension.Id, FileProvider = new PhysicalFileProvider(contentPath) }); } } }); return(modularApp); }
public static IApplicationBuilder ConfigureModules(this IApplicationBuilder app, Action <ModularApplicationBuilder> modules) { var modularApplicationBuilder = new ModularApplicationBuilder(app); modules(modularApplicationBuilder); return(app); }