Merge pull request #176 from sbwalker/master
fixed issue #175 when running in Wasm
This commit is contained in:
commit
c64e3bca52
|
@ -83,10 +83,10 @@ namespace Oqtane.Server
|
||||||
options.AddPolicy("ViewModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "View")));
|
options.AddPolicy("ViewModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "View")));
|
||||||
options.AddPolicy("EditModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "Edit")));
|
options.AddPolicy("EditModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "Edit")));
|
||||||
});
|
});
|
||||||
services.AddScoped<IAuthorizationHandler, PermissionHandler>();
|
|
||||||
|
|
||||||
// register scoped core services
|
// register scoped core services
|
||||||
services.AddScoped<SiteState>();
|
services.AddScoped<SiteState>();
|
||||||
|
services.AddScoped<IAuthorizationHandler, PermissionHandler>();
|
||||||
services.AddScoped<IInstallationService, InstallationService>();
|
services.AddScoped<IInstallationService, InstallationService>();
|
||||||
services.AddScoped<IModuleDefinitionService, ModuleDefinitionService>();
|
services.AddScoped<IModuleDefinitionService, ModuleDefinitionService>();
|
||||||
services.AddScoped<IThemeService, ThemeService>();
|
services.AddScoped<IThemeService, ThemeService>();
|
||||||
|
@ -309,6 +309,9 @@ namespace Oqtane.Server
|
||||||
options.AddPolicy("ViewModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "View")));
|
options.AddPolicy("ViewModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "View")));
|
||||||
options.AddPolicy("EditModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "Edit")));
|
options.AddPolicy("EditModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", "Edit")));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// register scoped core services
|
||||||
|
services.AddScoped<SiteState>();
|
||||||
services.AddScoped<IAuthorizationHandler, PermissionHandler>();
|
services.AddScoped<IAuthorizationHandler, PermissionHandler>();
|
||||||
|
|
||||||
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
|
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
|
||||||
|
@ -362,11 +365,6 @@ namespace Oqtane.Server
|
||||||
services.AddSingleton<IConfigurationRoot>(Configuration);
|
services.AddSingleton<IConfigurationRoot>(Configuration);
|
||||||
services.AddSingleton<IInstallationManager, InstallationManager>();
|
services.AddSingleton<IInstallationManager, InstallationManager>();
|
||||||
|
|
||||||
// install any modules or themes
|
|
||||||
ServiceProvider sp = services.BuildServiceProvider();
|
|
||||||
var InstallationManager = sp.GetRequiredService<IInstallationManager>();
|
|
||||||
InstallationManager.InstallPackages("Modules,Themes");
|
|
||||||
|
|
||||||
// register transient scoped core services
|
// register transient scoped core services
|
||||||
services.AddTransient<IModuleDefinitionRepository, ModuleDefinitionRepository>();
|
services.AddTransient<IModuleDefinitionRepository, ModuleDefinitionRepository>();
|
||||||
services.AddTransient<IThemeRepository, ThemeRepository>();
|
services.AddTransient<IThemeRepository, ThemeRepository>();
|
||||||
|
@ -443,6 +441,21 @@ namespace Oqtane.Server
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dynamically register hosted services
|
||||||
|
foreach (Assembly assembly in assemblies)
|
||||||
|
{
|
||||||
|
Type[] servicetypes = assembly.GetTypes()
|
||||||
|
.Where(item => item.GetInterfaces().Contains(typeof(IHostedService)))
|
||||||
|
.ToArray();
|
||||||
|
foreach (Type servicetype in servicetypes)
|
||||||
|
{
|
||||||
|
if (servicetype.Name != "HostedServiceBase")
|
||||||
|
{
|
||||||
|
services.AddSingleton(typeof(IHostedService), servicetype);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
services.AddSwaggerGen(c =>
|
services.AddSwaggerGen(c =>
|
||||||
{
|
{
|
||||||
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Oqtane", Version = "v1" });
|
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Oqtane", Version = "v1" });
|
||||||
|
@ -456,7 +469,7 @@ namespace Oqtane.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IInstallationManager InstallationManager)
|
||||||
{
|
{
|
||||||
app.UseResponseCompression();
|
app.UseResponseCompression();
|
||||||
|
|
||||||
|
@ -467,7 +480,7 @@ namespace Oqtane.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
// install any modules or themes
|
// install any modules or themes
|
||||||
InstallationManager.InstallPackages("Modules,Themes");
|
InstallationManager.InstallPackages("Modules,Themes", false);
|
||||||
|
|
||||||
app.UseClientSideBlazorFiles<Client.Startup>();
|
app.UseClientSideBlazorFiles<Client.Startup>();
|
||||||
app.UseStaticFiles();
|
app.UseStaticFiles();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user