示例#1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        /// <summary>
        /// Configures the specified application.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="env">The env.</param>
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            try
            {
                Logger.Info("Application startup - Initializing the Infra Application Configuration");

                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }

                app.ConfigureExceptionHandler();

                SwaggerConfig.ConfigureApplicationSwaggerMiddleware(app);

                //app.UseElmah();

                // Shows UseCors with CorsPolicyBuilder.
                //app.UseCors("Development");
                app.UseCors(builder => builder
                            .AllowAnyOrigin()
                            .AllowAnyHeader()
                            .AllowAnyMethod()
                            .AllowCredentials()
                            );

                app.UseSignalR(routes =>
                {
                    routes.MapHub <GlobalHub>("/globalhub", configureOptions =>
                    {
                    });
                });

                //app.Use(async (context, next) =>
                //{
                //    var hubContext = context.RequestServices
                //                            .GetRequiredService<IHubContext<GlobalHub>>();
                //});

                app.UseTempFileMiddleware();

                app.UseHttpsRedirection();
                app.UseStaticFiles();

                app.UseAuthentication();
                app.UseMvc();


                var securitySeedAsync = this.SecuritySeed().ConfigureAwait(false);
                securitySeedAsync.GetAwaiter().GetResult();
            }
            catch (Exception ex)
            {
                Logger.Fatal("Application startup - Execption on Infra Application Configuration", ex);
            }
            finally
            {
                Logger.Info("Application startup - Ending the Infra Application Configuration");
                Logger.FlushBuffers();
            }
        }