using Hangfire; using JiShe.CollectBus.Host.Extensions; using JiShe.CollectBus.Host.HealthChecks; using JiShe.CollectBus.Host.Swaggers; using JiShe.CollectBus.MongoDB; using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Swashbuckle.AspNetCore.SwaggerUI; using Volo.Abp; using Volo.Abp.AspNetCore.Authentication.JwtBearer; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; using Volo.Abp.BackgroundWorkers.Hangfire; using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.Modularity; using Volo.Abp.Swashbuckle; using Volo.Abp.Timing; namespace JiShe.CollectBus.Host { /// /// /// [DependsOn(typeof(CollectBusHttpApiModule), typeof(AbpAutofacModule), typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule), typeof(AbpTimingModule), typeof(CollectBusApplicationModule), typeof(CollectBusMongoDbModule), typeof(AbpCachingStackExchangeRedisModule), typeof(AbpBackgroundWorkersHangfireModule) )] public partial class CollectBusHostModule : AbpModule { /// /// ConfigureServices /// /// public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); ConfigureCache(context); ConfigureSwaggerServices(context, configuration); ConfigureNetwork(context, configuration); ConfigureJwtAuthentication(context, configuration); ConfigureHangfire(context); //ConfigureKafkaTopic(context, configuration); ConfigureAuditLog(context); ConfigureCustom(context, configuration); Configure(options => { options.Kind = DateTimeKind.Local; }); } /// /// OnApplicationInitialization /// /// public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); var configuration = context.GetConfiguration(); var env = context.GetEnvironment(); app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(CollectBusHostConst.DefaultCorsPolicyName); app.UseAuthentication(); app.UseAuthorization(); if (env.IsDevelopment()) { app.UseSwagger(); app.UseAbpSwaggerUI(options => { configuration.GetSection("SwaggerConfig").Get>()?.ForEach(group => { options.SwaggerEndpoint($"/swagger/{group.GroupName}/swagger.json", group.Title); //分组显示 }); options.DocExpansion(DocExpansion.None); options.DefaultModelsExpandDepth(-1); }); } app.UseAuditing(); app.UseAbpSerilogEnrichers(); app.UseUnitOfWork(); app.UseHangfireDashboard("/hangfire", new DashboardOptions { IgnoreAntiforgeryToken = true }); app.UseConfiguredEndpoints(endpoints => { endpoints.MapHealthChecks("/health", new HealthCheckOptions { Predicate = _ => true, ResponseWriter = HealthCheckResponse.Writer }); }); } } }