Visual Studio 2017을 사용한 ASP.NET Core MVC 개발

Visual Studio 2017은 2017/03/07에 출시되어 약 1개월이 지났습니다.

이 기간 동안 이미 네 번의 업데이트가 출시되었습니다.

Visual Studio 2017 릴리스 노트
htps //w w.ゔぃすあ lsつぢお。 코 m / 엔 - s / 네 ws / ぇ 아세 노테 s / vs 2017 - l l

이 Visual Studio 2017의 릴리스에서 좋은 점은 여러 가지가 있습니다만, 특히 좋다고 생각하고 있는 것이, "ASP.NET Core Web 어플리케이션"이 표준으로 개발할 수 있는 것.
이 Visual Studio 2017에서는 표준으로 "ASP.NET Core 웹 응용 프로그램"프로젝트 템플릿을 선택할 수 있습니다.



현재까지 .NET Framework의 모든 API를 지원하지는 않지만 Linux에서도 실행 가능한 ASP.NET 웹 응용 프로그램을 개발할 수 있다는 것은 큰 이점입니다.
적극적으로 "ASP.NET Core 웹 응용 프로그램"을 선택하고 개발합시다!



새 프로젝트에서 ASP.NET Core 웹 응용 프로그램(.NET Core)을 선택하면 ASP.NET MVC 템플릿을 선택할 수 있는 대화 상자가 나타납니다.
네이티브 앱의 백엔드로 RESTful 웹 서비스를 개발하려면 웹 API를 사용하고 웹 응용 프로그램을 개발하려면 웹 응용 프로그램을 선택합니다.



웹 응용 프로그램을 선택하면 템플릿이 생성되고 실행되면 이전 ASP.NET MVC 템플릿과 유사한 웹 응용 프로그램이 생성되었음을 알 수 있습니다.



다만, 크로스 플랫폼 대응을 위한 변경점도 몇가지 있습니다.
"web.config"가 없습니다. "appsettings.json"으로 대체되었습니다.
XML 기반에서 jSON 기반 형식으로 변경되었습니다.
또한 IIS 관련 기능인 URL 재 작성 규칙 설정 등을 구성 파일 기반으로 정의할 수 없습니다.



이 구성 정보이지만 코드에서 로드 처리가 정의됩니다.

Startup.cs

public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                .AddEnvironmentVariables();
            Configuration = builder.Build();
        }

상기의 코드는, 템플릿으로 생성된 코드의 Startup 클래스의 Startup 메소드입니다만, 여기에 구성 정보의 로드의 처리가 정의되고 있습니다.

나중에 정의된 구성 정보로 겹쳐씁니다.
다음 순서의 우선순위가 됩니다.

appsettings.json < appsettings.%ASPNETCORE_ENVIRONMENT%.json < 환경 변수

환경 변수에서 구성 정보를 설정하는 경우 ":"를 구분 기호로 사용하여 환경 변수의 이름을 정의하십시오.

예) "Logging:IncludeScopes"

이 환경 변수의 정의는 프로덕션 사용 시 Azure App Services 및 Linux 환경에서 사용할 수 있습니다.

.NET Core 로의 마이그레이션은 IIS 고유의 기능을 이용하고 있는 경우에는 검토가 필요합니다만, 그 이외의 경우에는, 드디어 실용 레벨에 각 기능이 충실해 왔다고 느끼고 있습니다.

좋은 웹페이지 즐겨찾기