// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IRethinkDbLoggerService rethinkDbLoggerService, LogChangeHandler logChangeHandler, RethinkDbKeepAlive keepAlive) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); // enable RethinkDb driver logging loggerFactory.EnableRethinkDbLogging(); // enable RethinkDb log provider for events loggerFactory.AddRethinkDb(rethinkDbLoggerService, LogLevel.Warning); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); // try to avoid connection being dropped due to inactivity Task.Factory.StartNew(keepAlive.Start, TaskCreationOptions.LongRunning); // run log watcher on a background thread Task.Factory.StartNew(logChangeHandler.Start, TaskCreationOptions.LongRunning); app.UseWebSockets(); app.UseSignalR(); }
public BackgroundTaskManager(RethinkDbKeepAlive keepAliveService, LogChangeHandler logChangeHandlerService, ILogger <BackgroundTaskManager> logger) { _keepAliveService = keepAliveService; _logChangeHandlerService = logChangeHandlerService; _logger = logger; }