using Admin.Core.Common; using Admin.Core.Extensions; using Admin.Core.IService.ISys; using Admin.Core.Socket; using Admin.Core.Tasks; using Aucma.Core.RunPlc; using Aucma.Core.Scanner; using Aucma.Core.ScannerGun; using Aucma.Core.Tasks; using Autofac; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System.Text; namespace Admin.Core.RealTimeService { /// <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(); //PLC //services.AddPlcSetup(); //ÈÎÎñµ÷¶È //services.AddJobSetup(); //ÈÎÎñ services.AddTouchSocketSetup(); //Ö§³Ö±àÂë´óÈ« ÀýÈç:Ö§³Ö 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, ITouchSocketService socket) { // ʹÓþ²Ì¬Îļþ app.UseStaticFiles(); app.UseTouchSocketMildd(socket); } #region ×¢²á·þÎñ /// <summary> /// ×¢²á·þÎñ /// </summary> /// <param name="services"></param> private static void AddServices(IServiceCollection services) { #region ×¢²á·þÎñ //services.AddScoped<IProductPlanInfoServices, ProductPlanInfoServices>(); //services.AddScoped<IEEquipmentCategoryRepository, EEquipmentCategoryRepository>(); //services.AddScoped<IBaseRepository<EEquipmentCategory>, BaseRepository<EEquipmentCategory>>(); //services.AddSingleton<IBaseService<EEquipmentCategory>, BaseService<EEquipmentCategory>>(); #endregion } #endregion } }