55 lines
1.5 KiB
C#
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("*"));
|
|
});
|
|
}
|
|
} |