public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((context, services) => { services.AddOptions(); services.AddDbContext <AppDatabase>(options => options.UseSqlServer(context.Configuration.GetConnectionString("Local")).UseLazyLoadingProxies()); var config = context.Configuration; services.Configure <PS3838Settings>(config.GetSection("PS3838")); var tgSettings = new InitSettings(); var tgSettingSection = config.GetSection("Bot"); tgSettingSection.Bind(tgSettings); var psSettings = new PS3838Settings(); var psSettingSection = config.GetSection("PS3838"); psSettingSection.Bind(psSettings); var framework = new TelegramFramework(tgSettings); services.AddSingleton(framework); var ps3838Client = new PS3838Client(psSettings.UserAgent); ps3838Client.Auth(psSettings.Login, psSettings.Password); services.AddSingleton(ps3838Client); services.AddHostedService <NotifierWorker>(); services.AddHostedService <DataWorker>(); });
public DataWorker(IServiceProvider serviceProvider, PS3838Client ps3838Client) { Timeout = TimeSpan.FromMinutes(1); _serviceProvider = serviceProvider; _ps3838Client = ps3838Client; _initLoad = true; }