// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            ServiceRegistrar.SetServiceProvider(app.ApplicationServices);

            var appLifetime = app.ApplicationServices.GetRequiredService <IApplicationLifetime>();

            appLifetime.ApplicationStopping.Register(OnShuttingDown);

            // global hanlder for any uncaught exceptions
            app.UseExceptionHandler(new ExceptionHandlerOptions()
            {
                ExceptionHandler = GlobalErrorHandler.ExceptionHandlerDelegate
            });

            app.UseMvc(ConfigureRoutes);
        }