Files
KonSoft.Clean/microservices/KonSoft.Admin.HttpApi.Host/AdminHttpApiHostModule.cs

89 lines
2.7 KiB
C#

using KonSoft.Admin.EntityFrameworkCore;
using KonSoft.Shared.Hosting.AspNetCore;
using KonSoft.Shared.Hosting.Microservices;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc.Libs;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Modularity;
namespace KonSoft.Admin;
[DependsOn(
typeof(AdminHttpApiModule),
typeof(AdminApplicationModule),
typeof(AdminEntityFrameworkCoreModule),
typeof(KonSoftSharedHostingMicroservicesModule)
)]
public class AdminHttpApiHostModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
SwaggerConfigurationHelper.ConfigureWithOidc(
context,
configuration["AuthServer:Authority"]!,
["Admin", "Dispatch", "Payment", "Report", "TenantManagement"],
discoveryEndpoint: configuration["AuthServer:MetadataAddress"],
apiTitle: "Administration Service API"
);
// 只发送事件,不处理事件
Configure<AbpBackgroundJobOptions>(options => options.IsJobExecutionEnabled = false);
Configure<AbpMvcLibsOptions>(options =>
{
options.CheckLibs = false;
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseAbpRequestLocalization();
app.UseCorrelationId();
app.UseStaticFiles();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
if (KonSoftConsts.MultiTenancyEnabled)
{
app.UseMultiTenancy();
}
app.UseUnitOfWork();
app.UseDynamicClaims();
app.UseAuthorization();
app.UseSwagger();
app.UseAbpSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Admin API");
var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthScopes("Admin");
});
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
}
//public override async Task OnPostApplicationInitializationAsync(ApplicationInitializationContext context)
//{
// await context.ServiceProvider.GetRequiredService<AdminPendingEfCoreMigrationsChecker>()
// .CheckAndApplyDatabaseMigrationsAsync();
//}
}