Program.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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.WebHost.UseUrls("http://0.0.0.0:5196");
  17. builder.Services.AddQuartzUI();
  18. //添加本地调度任务访问
  19. builder.Services.AddQuartzClassJobs();
  20. builder.Services.AddControllers()
  21. .ConfigureApiBehaviorOptions(options =>
  22. {
  23. // 禁用自动返回 400 的模型验证
  24. options.SuppressModelStateInvalidFilter = true;
  25. });
  26. // Add services to the container.
  27. // Redis
  28. var redisConfiguration = builder.Configuration.GetConnectionString("Redis");
  29. builder.Services.AddSingleton<IConnectionMultiplexer>(ConnectionMultiplexer.Connect(redisConfiguration));
  30. var connectionString = builder.Configuration.GetConnectionString("MySqlConnection");
  31. builder.Services.AddDbContext<ApplicationDbContext>(options =>
  32. options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)));
  33. builder.Services.AddControllers();
  34. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  35. builder.Services.AddEndpointsApiExplorer();
  36. builder.Services.AddSwaggerGen();
  37. // Repository
  38. builder.Services.AddScoped<IDeviceRepository, DeviceRepository>();
  39. builder.Services.AddScoped<ITaskCallbackRepository, TaskCallbackRepository>();
  40. builder.Services.AddScoped<IWcsActionAddressRepository, WcsActionAddressRepository>();
  41. builder.Services.AddScoped<IWcsActionRepository, WcsActionRepository>();
  42. builder.Services.AddScoped<IWcsTagValueRepository, WcsTagValueRepository>();
  43. // Service
  44. builder.Services.AddScoped<ITaskService, TaskService>();
  45. builder.Services.AddScoped<ITaskCallbackService, TaskCallbackService>();
  46. builder.Services.AddScoped<IWcsActionAddressService, WcsActionAddressService>();
  47. builder.Services.AddScoped<IWcsActionService, WcsActionService>();
  48. builder.Services.AddScoped<IDeviceService, DeviceService>();
  49. builder.Services.AddScoped<IWcsTagValueService, WcsTagValueService>();
  50. builder.Services.AddScoped<IApiRequestService, ApiRequestService>();
  51. var app = builder.Build();
  52. //Admin 123456
  53. app.UseQuartzUIBasicAuthorized();
  54. app.UseQuartz();
  55. if (app.Environment.IsDevelopment())
  56. {
  57. app.UseDeveloperExceptionPage();
  58. app.UseSwagger();
  59. app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Your API V1"));
  60. }
  61. app.UseStaticFiles();
  62. app.UseDefaultFiles();
  63. app.UseRouting();
  64. app.MapControllers();
  65. app.Run();