Yuebon.WebApi/Program.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.Extensions.DependencyInjection;
using Yuebon.Core.Module;
using static Yuebon.Extensions.ServiceExtensions.SwaggerVersions;
var builder = WebApplication.CreateBuilder(args);

#region 1、配置host与容器
builder.Host
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureContainer<ContainerBuilder>(builder =>
{
    builder.RegisterModule(new AutofacModuleRegister());
})
.ConfigureLogging((hostingContext, builder) =>
{
    builder.AddFilter("System", LogLevel.Error);
    builder.AddFilter("Microsoft", LogLevel.Error);
    builder.SetMinimumLevel(LogLevel.Error);
    builder.AddLog4Net(Path.Combine(Directory.GetCurrentDirectory(), "log4net.config"));
});

ILoggerRepository loggerRepository = LogManager.CreateRepository("NETCoreRepository");
Log4NetHelper.SetConfig(loggerRepository, "log4net.config");
#endregion

#region 2、配置服务

builder.Services.AddSingleton(new Appsettings(builder.Configuration));
builder.Services.AddUiFilesZipSetup(builder.Environment);
builder.Services.AddRedisCacheSetup();
builder.Services.AddMiniProfilerSetup();
builder.Services.AddSqlSugarSetup();
builder.Services.AddHttpContextSetup();
builder.Services.AddHttpContextAccessor();
builder.Services.AddSwaggerSetup();

builder.Services.AddRabbitMQSetup();

builder.Services.AddAuthorizationSetup();
builder.Services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true).Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);

#region 全局设置跨域访问
//允许所有跨域访问,测试用
builder.Services.AddCors(options => options.AddPolicy("yuebonCors",policy => policy.WithOrigins("*").AllowAnyHeader().AllowAnyMethod()));
// 跨域设置 建议正式环境
//services.AddCors(options => options.AddPolicy("yuebonCors",
//    policy => policy.WithOrigins(Configuration.GetSection("AppSetting:AllowOrigins").Value.Split(',', StringSplitOptions.RemoveEmptyEntries)).AllowAnyHeader().AllowAnyMethod()));
#endregion

#region 健康检查
builder.Services.AddHealthChecks();
#endregion

#region 控制器
builder.Services.AddControllers(c =>
{
    c.Filters.Add(typeof(GlobalExceptionsFilter));
    c.Filters.Add(typeof(RequestActionFilter));
    c.Conventions.Add(new GlobalRoutePrefixFilter(new RouteAttribute("")));
}).AddJsonOptions(options =>
{
后面还有 127 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。