Files
KonSoft.Clean/microservices/KonSoft.Dispatch.HttpApi.Host/DispatchHttpApiHostModule.cs
2025-10-12 15:40:33 +08:00

79 lines
2.3 KiB
C#

using KonSoft.Dispatch.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.Dispatch;
[DependsOn(
typeof(DispatchHttpApiModule),
typeof(DispatchApplicationModule),
typeof(DispatchEntityFrameworkCoreModule),
typeof(KonSoftSharedHostingMicroservicesModule)
)]
public class DispatchHttpApiHostModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
SwaggerConfigurationHelper.ConfigureWithOidc(
context: context,
authority: configuration["AuthServer:Authority"]!,
scopes: ["DispatchService"],
discoveryEndpoint: configuration["AuthServer:MetadataAddress"],
apiTitle: "Dispatch Service API"
);
// 只发送事件,不处理事件
Configure<AbpBackgroundJobOptions>(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", "Dispatch API");
var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthScopes("Dispatch");
});
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
}
}