CustomToken.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using CSRedis;
  2. using dodohold.core;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Microsoft.OpenApi.Models;
  5. using Swashbuckle.AspNetCore.SwaggerGen;
  6. using YunhuiKit;
  7. namespace molilian.core
  8. {
  9. public static class CustomToken
  10. {
  11. public static IServiceCollection Init(this IServiceCollection services)
  12. {
  13. //int minWorkerThreads = 128; // 工作线程数的建议设置
  14. //int minIOCompletionThreads = 512; // I/O 完成端口线程数的建议设置
  15. //ThreadPool.SetMinThreads(minWorkerThreads, minIOCompletionThreads);
  16. //int newMaxWorker = 65535; // 新的最大工作线程数
  17. //int newMaxIOC = 2000; // 新的最大I/O完成端口线程数
  18. //ThreadPool.SetMaxThreads(newMaxWorker, newMaxIOC);
  19. //注入验证 provider
  20. MyAuthorizationFactory.Register(new AdminProvider());
  21. MyAuthorizationFactory.Register(new AppProvider());
  22. MyAuthorizationFactory.Register(new APIProvider(), true);
  23. //Configuration = configuration;
  24. //AppUtility.Configuration = Configuration;
  25. //var appSettings = Configuration.GetSection("AppSettings");
  26. //appSettings.Bind(AppUtility.AppSettings);
  27. //定期任务
  28. TimerScheduler.TaskContainers taskContainers = new();
  29. TimerScheduler timerScheduler = new TimerScheduler(taskContainers);
  30. timerScheduler.Start();
  31. SystemMonitor.StartMonitoring(30);
  32. try
  33. {
  34. var connstr = Environment.GetEnvironmentVariable("RedisConfig") ?? throw new ArgumentNullException("找不到对应的RedisConfig配置!");
  35. RedisKit.InitializeAsync(connstr);
  36. //初始化Redis
  37. RedisUtility.Init();
  38. }
  39. catch (Exception ex)
  40. {
  41. var endPoint = Environment.GetEnvironmentVariable("EndPoint");
  42. string message = $"【{endPoint}系统异常】初始化Redis失败 \n{ex.Message}\n{ex.StackTrace}";
  43. NotifyCore.Notify(message);
  44. }
  45. //services.AddMvc(option =>
  46. //{
  47. // option.Filters.Add(typeof(MyAuthorizationFactory.MyActionFilter));
  48. // option.Filters.Add(typeof(ResponseExceptionFilterAttribute));
  49. //});
  50. return services;
  51. }
  52. }
  53. }