using KonSoft.Report.EntityFrameworkCore; using KonSoft.Shared.Hosting.AspNetCore; using KonSoft.Shared.Hosting.Microservices; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Volo.Abp; using Volo.Abp.BackgroundJobs; using Volo.Abp.Modularity; namespace KonSoft.Report; [DependsOn( typeof(ReportHttpApiModule), typeof(ReportApplicationModule), typeof(ReportEntityFrameworkCoreModule), typeof(KonSoftSharedHostingMicroservicesModule) )] public class ReportHttpApiHostModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); SwaggerConfigurationHelper.ConfigureWithOidc( context: context, authority: configuration["AuthServer:Authority"]!, scopes: ["ReportService"], discoveryEndpoint: configuration["AuthServer:MetadataAddress"], apiTitle: "Report Service API" ); // 只发送事件,不处理事件 Configure(options => options.IsJobExecutionEnabled = 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", "Report API"); var configuration = context.GetConfiguration(); options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); options.OAuthScopes("Report"); }); app.UseAuditing(); app.UseAbpSerilogEnrichers(); app.UseConfiguredEndpoints(); } }