Program.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using IMCS.CCS.Services;
  2. using Microsoft.EntityFrameworkCore;
  3. using Quartz.Impl;
  4. using Quartz;
  5. using StackExchange.Redis;
  6. using System.ComponentModel.Design;
  7. using WCS.Common;
  8. using WCS.Repository;
  9. using WCS.Service;
  10. using WCS.Service.Impl;
  11. using WCS.Services;
  12. using Quartz.Spi;
  13. using GZY.Quartz.MUI.Extensions;
  14. using GZY.Quartz.MUI.BaseService;
  15. var builder = WebApplication.CreateBuilder(args);
  16. builder.Services.AddQuartzUI();
  17. //添加本地调度任务访问
  18. builder.Services.AddQuartzClassJobs();
  19. builder.Services.AddControllers()
  20. .ConfigureApiBehaviorOptions(options =>
  21. {
  22. // 禁用自动返回 400 的模型验证
  23. options.SuppressModelStateInvalidFilter = true;
  24. });
  25. // Add services to the container.
  26. // Redis
  27. var redisConfiguration = builder.Configuration.GetConnectionString("Redis");
  28. builder.Services.AddSingleton<IConnectionMultiplexer>(ConnectionMultiplexer.Connect(redisConfiguration));
  29. var connectionString = builder.Configuration.GetConnectionString("MySqlConnection");
  30. builder.Services.AddDbContext<ApplicationDbContext>(options =>
  31. options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)));
  32. builder.Services.AddControllers();
  33. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  34. builder.Services.AddEndpointsApiExplorer();
  35. builder.Services.AddSwaggerGen();
  36. // Repository
  37. builder.Services.AddScoped<IDeviceRepository, DeviceRepository>();
  38. builder.Services.AddScoped<ITaskCallbackRepository, TaskCallbackRepository>();
  39. builder.Services.AddScoped<IWcsActionAddressRepository, WcsActionAddressRepository>();
  40. builder.Services.AddScoped<IWcsActionRepository, WcsActionRepository>();
  41. builder.Services.AddScoped<IWcsTagValueRepository, WcsTagValueRepository>();
  42. // Service
  43. builder.Services.AddScoped<ITaskService, TaskService>();
  44. builder.Services.AddScoped<ITaskCallbackService, TaskCallbackService>();
  45. builder.Services.AddScoped<IWcsActionAddressService, WcsActionAddressService>();
  46. builder.Services.AddScoped<IWcsActionService, WcsActionService>();
  47. builder.Services.AddScoped<IDeviceService, DeviceService>();
  48. builder.Services.AddScoped<IWcsTagValueService, WcsTagValueService>();
  49. builder.Services.AddScoped<IApiRequestService, ApiRequestService>();
  50. var app = builder.Build();
  51. //Admin 123456
  52. app.UseQuartzUIBasicAuthorized();
  53. app.UseQuartz();
  54. if (app.Environment.IsDevelopment())
  55. {
  56. app.UseDeveloperExceptionPage();
  57. app.UseSwagger();
  58. app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Your API V1"));
  59. }
  60. app.UseStaticFiles();
  61. app.UseDefaultFiles();
  62. app.UseRouting();
  63. app.MapControllers();
  64. app.Run();