コード例 #1
0
        // 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();
        }
コード例 #2
0
 public BackgroundTaskManager(RethinkDbKeepAlive keepAliveService, LogChangeHandler logChangeHandlerService, ILogger <BackgroundTaskManager> logger)
 {
     _keepAliveService        = keepAliveService;
     _logChangeHandlerService = logChangeHandlerService;
     _logger = logger;
 }