Example #1
0
        /// <summary>
        /// 此方法將於直接階段被呼叫,使用此方法可以設定HTTP Request管線處理流程。
        /// </summary>
        /// <param name="app">應用程式服務</param>
        /// <param name="env">主機環境</param>
        /// <param name="loggerFactory"></param>
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            app.UseApplicationInsightsRequestTelemetry();

            if (env.IsDevelopment()) {//檢驗是否為開發環境
                app.UseDeveloperExceptionPage();//使用開發人員例外畫面
                app.UseBrowserLink();//使用瀏覽器鏈接
            } else {//當非開發環境
                //app.UseExceptionHandler("/Home/Error");//設定例外處理為HomeController的Error Action
            }

            app.UseApplicationInsightsExceptionTelemetry();

            ConfigureDefaultFiles(app);
            ConfigureErrorPages(app, env);

            app.UseStaticFiles();

            app.UseCookieAuthentication(new CookieAuthenticationOptions() {
                AuthenticationScheme = Startup.AuthenticationSchemeName,
                ExpireTimeSpan = new TimeSpan(0, 30, 0)
            });

            app.UseAuthorizeException();

            #region Test CORS
            app.UseCors(builder=> {
                builder.AllowCredentials();
                builder.AllowAnyHeader();
                builder.AllowAnyMethod();
                builder.AllowAnyOrigin();
            });
            #endregion

            //app.UseIdentity();
            //app.UseMvc(ConfigureMvcRoute);
            app.UseMvc();

            // Enable middleware to serve generated Swagger as a JSON endpoint
            app.UseSwagger();

            // Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.)
            app.UseSwaggerUi();

            PreviewKeyCheck.Run();
        }