130 lines
4.5 KiB
C#
130 lines
4.5 KiB
C#
using New_College.Common;
|
|
using New_College.Common.Helper;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using System;
|
|
using System.Text;
|
|
|
|
namespace New_College.Extensions
|
|
{
|
|
/// <summary>
|
|
/// 项目 启动服务
|
|
/// </summary>
|
|
public static class AppConfigSetup
|
|
{
|
|
public static void AddAppConfigSetup(this IServiceCollection services)
|
|
{
|
|
if (services == null) throw new ArgumentNullException(nameof(services));
|
|
|
|
if (Appsettings.app(new string[] { "Startup", "AppConfigAlert", "Enabled" }).ObjToBool())
|
|
{
|
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
|
Console.OutputEncoding = Encoding.GetEncoding("GB2312");
|
|
|
|
Console.WriteLine("************ New_College Config Set *****************");
|
|
// 授权策略方案
|
|
if (Permissions.IsUseIds4)
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Current authorization scheme: " + (Permissions.IsUseIds4 ? "Ids4" : "JWT"));
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine($"Current authorization scheme: " + (Permissions.IsUseIds4 ? "Ids4" : "JWT"));
|
|
}
|
|
|
|
// Redis缓存AOP
|
|
if (!Appsettings.app(new string[] { "AppSettings", "RedisCachingAOP", "Enabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"Redis Caching AOP: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Redis Caching AOP: True");
|
|
}
|
|
|
|
// 内存缓存AOP
|
|
if (!Appsettings.app(new string[] { "AppSettings", "MemoryCachingAOP", "Enabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"Memory Caching AOP: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Memory Caching AOP: True");
|
|
}
|
|
|
|
// 服务日志AOP
|
|
if (!Appsettings.app(new string[] { "AppSettings", "LogAOP", "Enabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"Service Log AOP: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Service Log AOP: True");
|
|
}
|
|
|
|
// 事务AOP
|
|
if (!Appsettings.app(new string[] { "AppSettings", "TranAOP", "Enabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"Transaction AOP: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Transaction AOP: True");
|
|
}
|
|
|
|
// 数据库Sql执行AOP
|
|
if (!Appsettings.app(new string[] { "AppSettings", "SqlAOP", "Enabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"DB Sql AOP: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"DB Sql AOP: True");
|
|
}
|
|
|
|
// SingnalR发送数据
|
|
if (!Appsettings.app(new string[] { "Middleware", "SignalR", "Enabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"SignalR send data: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"SignalR send data: True");
|
|
}
|
|
|
|
// IP限流
|
|
if (!Appsettings.app("Middleware", "IpRateLimit", "Enabled").ObjToBool())
|
|
{
|
|
Console.WriteLine($"IpRateLimiting: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"IpRateLimiting: True");
|
|
}
|
|
|
|
// 多库
|
|
if (!Appsettings.app(new string[] { "MutiDBEnabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"Is multi-DataBase: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Is multi-DataBase: True");
|
|
}
|
|
|
|
// 读写分离
|
|
if (!Appsettings.app(new string[] { "CQRSEnabled" }).ObjToBool())
|
|
{
|
|
Console.WriteLine($"Is CQRS: False");
|
|
}
|
|
else
|
|
{
|
|
ConsoleHelper.WriteSuccessLine($"Is CQRS: True");
|
|
}
|
|
|
|
Console.WriteLine();
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|