CSharp-Single-EFCore/Bunny.WebApi/Config/BaseConfig.cs

55 lines
1.5 KiB
C#

using Bunny.Common;
using Bunny.Common.Connect;
using Bunny.Service.WebSocket;
namespace Bunny.WebApi.Config;
public class BaseConfig(WebApplicationBuilder builder)
{
/// <summary>
/// 初始化
/// </summary>
public void Initialize()
{
// 配置跨域
UseCors();
// 配置日志相关
// builder.Logging.AddLog4Net("Config/log4net.config");
// 添加使用自定义配置文件
builder.Services.AddSingleton(new AppSettings(builder.Configuration));
// 添加 SignalR
builder.Services.AddSignalR();
// 添加Service服务
builder.AddApplicationServices();
// 添加后台服务
builder.AddApplicationBackendServices();
// 添加验证码
builder.AddCaptcha();
// 设置过滤器
builder.AddFilterConfigInitialize();
// 初始化Redis
builder.AddRedisContext();
// 初始化Minio
builder.AddMinioContext();
// 初始化 Knife4Net 文档
builder.AddKnife4Net();
// 启动 webSocket
builder.AddWebSocketInitial();
}
/// <summary>
/// 配置跨域
/// </summary>
private void UseCors()
{
// SignalR 配置跨域
builder.Services.AddSignalRCore();
// 配置跨域
builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(policyBuilder => policyBuilder.WithOrigins("*")
.WithHeaders("*")
.WithMethods("*"));
});
}
}