using Application.Domain.Entities; using IoT.Shared.DeviceServices.FBee; using IoT.Shared.DeviceServices.Onvif; using IoT.Shared.DeviceServices.SerialPort; using IoT.Shared.Infrastructure; using IoT.UI.Shard; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; using Infrastructure.Extensions; namespace IoTNode { public class Startup : IoTServiceStartup { public Startup(IConfiguration configuration, IHostingEnvironment env) : base(configuration, env) { } public override void ConfigureServices(IServiceCollection services) { services.AddSingleton(); //services.AddSingleton(); services.AddSingleton(); //services.AddSingleton(); base.ConfigureServices(services); } public override void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { base.Configure(app, env, loggerFactory); Task.Run(() => { app.ApplicationServices.GetService().Start(); app.ApplicationServices.GetService()?.Start(); app.ApplicationServices.GetService()?.Start(); //app.ApplicationServices.GetService()?.Start(); }); } public override void Seed(DbContext dbContext, IServiceProvider serviceProvider, IConfiguration configuration) { dbContext.Set().Add(new Node { Name = configuration["node.number"], Number = configuration["node.number"], }); dbContext.SaveChanges(); base.Seed(dbContext, serviceProvider, configuration); } } }