using Admin.Core.Common; using Admin.Core.Extensions; using Admin.Core.IRepository; using Admin.Core.IService; using Admin.Core.IService.ISys; using Admin.Core.Model; using Admin.Core.Repository; using Admin.Core.Service; using Admin.Core.Tasks; using Aucma.Core.RunPlc; using Aucma.Core.Scanner; using Aucma.Core.ScannerGun; using Autofac; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System.Text; namespace Aucma.Core.CodeBinding { /// <summary> /// Startup /// </summary> public class Startup { /// <summary> /// Startup /// </summary> /// <param name="configuration"></param> public Startup(IConfiguration configuration, IWebHostEnvironment env) { Configuration = configuration; Env = env; } /// <summary> /// IConfiguration /// </summary> public IConfiguration Configuration { get; } /// <summary> /// ������Ϣ������/���� /// </summary> public IWebHostEnvironment Env { get; } /// <summary> /// This method gets called by the runtime. Use this method to add services to the container. /// </summary> /// <param name="services"></param> public void ConfigureServices(IServiceCollection services) { //Appsettings services.AddSingleton(new Appsettings(Configuration)); //��־�ļ�Ŀ¼ services.AddSingleton(new LogLock(Env.ContentRootPath)); //Memory���� services.AddMemoryCacheSetup(); //Sqlsugar���ݿ�ģ�Ͳ�ѯ services.AddSqlsugarSetup(); //AutoMapper services.AddAutoMapperSetup(); //ע��ҵ����� AddServices(services); //ɨ���� services.AddScannerSetup(); // ɨ��ǹ // services.AddScannerGunSetup(); //������� services.AddJobSetup(); //PLC services.AddPlcSetup(); //֧�ֱ����ȫ ����:֧�� System.Text.Encoding.GetEncoding("GB2312") System.Text.Encoding.GetEncoding("GB18030") Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); } /// <summary> /// ע����Program.CreateHostBuilder������Autofac���� /// </summary> /// <param name="builder"></param> public void ConfigureContainer(ContainerBuilder builder) { builder.RegisterModule(new AutofacModuleRegister()); builder.RegisterModule<AutofacPropertityModuleReg>(); } /// <summary> /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. /// </summary> /// <param name="app"></param> /// <param name="env"></param> public void Configure(IApplicationBuilder app, IScannerService scannerService, IRunPlcService runPlcService, ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter) // ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter { // ʹ�þ�̬�ļ� app.UseStaticFiles(); // Ȼ������Ȩ�м�� //app.UseAuthorization(); //����ɨ����� app.UseScannerMildd(scannerService); //����ɨ��ǹ���� // app.UseScannerGunMildd(scannerGunService); // ����QuartzNetJob���ȷ��� app.UseQuartzJobMildd(tasksQzService, schedulerCenter); //PLC app.UsePlcMildd(runPlcService); } #region ע����� /// <summary> /// ע����� /// </summary> /// <param name="services"></param> private static void AddServices(IServiceCollection services) { #region ע����� //services.AddScoped<IEEquipmentCategoryServices, EEquipmentCategoryServices>(); //services.AddScoped<IEEquipmentCategoryRepository, EEquipmentCategoryRepository>(); //services.AddScoped<IBaseRepository<EEquipmentCategory>, BaseRepository<EEquipmentCategory>>(); //services.AddSingleton<IBaseService<EEquipmentCategory>, BaseService<EEquipmentCategory>>(); #endregion } #endregion } }