// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. // ReSharper disable once InconsistentNaming public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime, IHostingEnvironment env, ILoggerFactory loggerFactory) { // create default configuration var serverConfig = new SConfiguration(); // bind configuration _fileConfig.Bind(serverConfig); // build context var context = new SContext(serverConfig); // load database context.connectDatabase(); context.log.writeLine($"Database connected", SLogger.LogLevel.Information); // register application stop handler applicationLifetime.ApplicationStopping.Register(() => onUnload(context)); context.log.writeLine($"Application interrupt handler registered", SLogger.LogLevel.Information); // add aspnet developer exception page if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } // add aspnet logger if (env.IsDevelopment()) { loggerFactory.AddConsole(LogLevel.Information); } else { loggerFactory.AddConsole(LogLevel.Warning); } // add wwwroot/ app.UseStaticFiles(); // set up Nancy OWIN hosting app.UseOwin(x => x.UseNancy(options => { options.PassThroughWhenStatusCodesAre( HttpStatusCode.NotFound, HttpStatusCode.InternalServerError ); options.Bootstrapper = new AppBootstrapper(context); })); context.log.writeLine($"Web services mapped successfully", SLogger.LogLevel.Information); }
public AppBootstrapper(SContext context) { serverContext = context; }
private void onUnload(SContext sctx) { sctx.log.writeLine("Server unloading.", SLogger.LogLevel.Information); }