Program.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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.Common.Redis;
  9. using WCS.Config;
  10. using WCS.Repository;
  11. using WCS.Service;
  12. using WCS.Service.Impl;
  13. using WCS.Service.Jobs;
  14. using WCS.Services;
  15. var builder = WebApplication.CreateBuilder(args);
  16. // Add services to the container.
  17. // ���� Redis ����
  18. var redisConfiguration = builder.Configuration.GetConnectionString("Redis");
  19. builder.Services.AddSingleton<IConnectionMultiplexer>(ConnectionMultiplexer.Connect(redisConfiguration));
  20. var connectionString = builder.Configuration.GetConnectionString("MySqlConnection");
  21. builder.Services.AddDbContext<ApplicationDbContext>(options =>
  22. options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)));
  23. builder.Services.AddControllers();
  24. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  25. builder.Services.AddEndpointsApiExplorer();
  26. builder.Services.AddSwaggerGen();
  27. // ע�� Repository
  28. builder.Services.AddScoped<IDeviceRepository, DeviceRepository>();
  29. builder.Services.AddScoped<ITaskCallbackRepository, TaskCallbackRepository>();
  30. builder.Services.AddScoped<IWcsActionAddressRepository, WcsActionAddressRepository>();
  31. builder.Services.AddScoped<IWcsActionRepository, WcsActionRepository>();
  32. // ע�� Service
  33. builder.Services.AddScoped<ITTaskService, TTaskService>();
  34. builder.Services.AddScoped<ITaskCallbackService, TaskCallbackService>();
  35. builder.Services.AddScoped<IWcsActionAddressService, WcsActionAddressService>();
  36. builder.Services.AddScoped<IWcsActionService, WcsActionService>();
  37. /*builder.Services.AddAutoMapper(typeof(AutoMapperConfig));
  38. //�ļ����ݷ���
  39. builder.Services.AddTransient<IDataService, DataService>();
  40. //��Ŀ����
  41. builder.Services.AddTransient<IProjectService, ProjectService>();
  42. //�������
  43. builder.Services.AddTransient<ITaskService, TaskService>();
  44. //��ʱ���� ����
  45. builder.Services.AddTransient<IQuartzJobService, QuartzJobService>();
  46. //ע��ISchedulerFactory��ʵ����
  47. builder.Services.AddTransient<ISchedulerFactory, StdSchedulerFactory>();
  48. //web api �������
  49. builder.Services.AddTransient<IApiRequestService, ApiRequestService>();
  50. //Job ʵ��������
  51. builder.Services.AddSingleton<ResultfulApiJobFactory>();
  52. //Reultful ��� api ���� ����
  53. builder.Services.AddTransient<ResultfulApiJob>();
  54. //������־
  55. builder.Services.AddSingleton<IJobLoggerService, JobLoggerService>();
  56. //��Ŀ������Ϣ
  57. builder.Services.AddSingleton<IDataStorageConfigurationService, DataStorageConfigurationService>();*/
  58. //redis ע��
  59. //RepositoryRedisModule.RegisterRedisRepository(services, Configuration["RedisConnectionString"]);
  60. //services.AddScoped<IRedisService, RedisService>();
  61. //builder.Services.AddTransient<IUserService, UserService>();
  62. //builder.Services.AddTransient<IUserRepository, UserRepository>();
  63. //builder.Services.AddScoped<IDeviceService, DeviceService>();
  64. //builder.Services.AddScoped<IHttpRequestService, HttpRequestService>();
  65. //builder.Services.AddScoped<IEquipmentMonitorService, EquipmentMonitorService>();
  66. builder.Services.AddScoped<ITaskCallbackService, TaskCallbackService>();
  67. //builder.Services.AddScoped<IDictionaryService, DictionaryService>();
  68. builder.Services.AddScoped<IWcsActionService, WcsActionService>();
  69. //builder.Services.AddScoped<IWcsTagValueService, WcsTagValueService>();
  70. //builder.Services.AddScoped<ITaskJobService, TaskJobService>();
  71. builder.Services.AddScoped<IWcsActionAddressService, WcsActionAddressService>();
  72. builder.Services.AddScoped<IDeviceRepository, DeviceRepository>();
  73. //builder.Services.AddScoped<IEquipmentMonitorRepository, EquipmentMonitorRepository>();
  74. builder.Services.AddScoped<ITaskCallbackRepository, TaskCallbackRepository>();
  75. //builder.Services.AddScoped<IDictionaryRepository, DictionaryRepository>();
  76. builder.Services.AddScoped<IWcsActionRepository, WcsActionRepository>();
  77. //builder.Services.AddScoped<ICcsTagValueRepository, CcsTagValueRepository>();
  78. builder.Services.AddScoped<IWcsActionAddressRepository, WcsActionAddressRepository>();
  79. var app = builder.Build();
  80. if (app.Environment.IsDevelopment())
  81. {
  82. app.UseDeveloperExceptionPage();
  83. app.UseSwagger();
  84. app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Your API V1"));
  85. }
  86. // ���þ�̬�ļ��м��
  87. app.UseStaticFiles();
  88. // ����Ĭ���ļ��м��
  89. app.UseDefaultFiles();
  90. // ����·��
  91. app.UseRouting();
  92. // ���������ض��� HTML ҳ��
  93. app.UseEndpoints(endpoints =>
  94. {
  95. endpoints.MapControllers();
  96. endpoints.MapGet("/", context =>
  97. {
  98. context.Response.Redirect("/client/index.html");
  99. return Task.CompletedTask;
  100. });
  101. });
  102. app.Run();