첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

728x90
반응형

■ Startup 클래스 : Configure<Environment> 메소드 사용하기

------------------------------------------------------------------------------------------------------------------------

TestProject.zip


Properties/launchSettings.json

 

 

{

    "iisSettings" :

    {

        "windowsAuthentication"   : false,

        "anonymousAuthentication" : true,

        "iisExpress" :

        {

            "applicationUrl" : "http://localhost:64645",

            "sslPort"        : 44366

        }

    },

    "profiles" :

    {

        "IISExpressDevelopment" :

        {

            "commandName"          : "IISExpress",

            "launchBrowser"        : true,

            "environmentVariables" :

            {

                "ASPNETCORE_ENVIRONMENT" : "Development"

            }

        },

        "IISExpressProduction" :

        {

            "commandName"          : "IISExpress",

            "launchBrowser"        : true,

            "environmentVariables" :

            {

                "ASPNETCORE_ENVIRONMENT" : "Production"

            }

        },

        "IISExpressStaging" :

        {

            "commandName"          : "IISExpress",

            "launchBrowser"        : true,

            "environmentVariables" :

            {

                "ASPNETCORE_ENVIRONMENT"            : "Staging",

                "ASPNETCORE_DETAILEDERRORS"         : "1",

                "ASPNETCORE_SHUTDOWNTIMEOUTSECONDS" : "3"

            }

        },

        "KestrelDevelopment" :

        {

            "commandName"          : "Project",

            "launchBrowser"        : true,

            "applicationUrl"       : "https://localhost:5001;http://localhost:5000",

            "environmentVariables" :

            {

                "ASPNETCORE_ENVIRONMENT" : "Development"

            }

        },

        "KestrelStaging" :

        {

            "commandName"          : "Project",

            "launchBrowser"        : true,

            "applicationUrl"       : "https://localhost:5001;http://localhost:5000",

            "environmentVariables" :

            {

                "ASPNETCORE_ENVIRONMENT" : "Staging"

            }

        },

        "KestrelProduction" :

        {

            "commandName"          : "Project",

            "launchBrowser"        : true,

            "applicationUrl"       : "https://localhost:5001;http://localhost:5000",

            "environmentVariables" :

            {

                "ASPNETCORE_ENVIRONMENT" : "Production"

            }

        }

    }

}

 

 

Startup.cs

 

 

using Microsoft.AspNetCore.Builder;

using Microsoft.AspNetCore.Hosting;

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.DependencyInjection;

using Microsoft.Extensions.Hosting;

 

namespace TestProject

{

    /// <summary>

    /// 시작

    /// </summary>

    public class Startup

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Property

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region 구성 - Configuration

 

        /// <summary>

        /// 구성

        /// </summary>

        public IConfiguration Configuration { get; }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region 생성자 - Startup(configuration)

 

        /// <summary>

        /// 생성자

        /// </summary>

        /// <param name="configuration">구성</param>

        public Startup(IConfiguration configuration)

        {

            Configuration = configuration;

        }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region 서비스 컬렉션 구성하기 - ConfigureServices(services)

 

        /// <summary>

        /// 서비스 컬렉션 구성하기

        /// </summary>

        /// <param name="services">서비스 컬렉션</param>

        public void ConfigureServices(IServiceCollection services)

        {

            services.AddControllersWithViews();

        }

 

        #endregion

        #region 구성하기 - Configure(app, environment)

 

        /// <summary>

        /// 구성하기

        /// </summary>

        /// <param name="app">애플리케이션 빌더</param>

        /// <param name="environment">웹 호스트 환경</param>

        public void Configure(IApplicationBuilder app, IWebHostEnvironment environment)

        {

            if(environment.IsDevelopment())

            {

                app.UseDeveloperExceptionPage();

            }

 

            if(environment.IsProduction() || environment.IsStaging() || environment.IsEnvironment("Staging_2"))

            {

                app.UseExceptionHandler("/Home/Error");

 

                app.UseHsts();

            }

 

            app.UseHttpsRedirection();

 

            app.UseStaticFiles();

 

            app.UseRouting();

 

            app.UseAuthorization();

 

            app.UseEndpoints

            (

                endpoints =>

                {

                    endpoints.MapControllerRoute

                    (

                        name    : "default",

                        pattern : "{controller=Home}/{action=Index}/{id?}"

                    );

                }

            );

        }

 

        #endregion

        #region 구성하기 (스테이징) - ConfigureStaging(app, environment)

 

        /// <summary>

        /// 구성하기 (스테이징)

        /// </summary>

        /// <param name="app">애플리케이션 빌더</param>

        /// <param name="environment">웹 호스트 환경</param>

        public void ConfigureStaging(IApplicationBuilder app, IWebHostEnvironment environment)

        {

            app.UseExceptionHandler("/Home/Error");

 

            app.UseHsts();

 

            app.UseHttpsRedirection();

 

            app.UseStaticFiles();

 

            app.UseRouting();

 

            app.UseAuthorization();

 

            app.UseEndpoints

            (

                endpoints =>

                {

                    endpoints.MapControllerRoute

                    (

                        name    : "default",

                        pattern : "{controller=Home}/{action=Index}/{id?}"

                    );

                }

            );

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

728x90
반응형
Posted by 사용자 icodebroker

댓글을 달아 주세요