ASP.NET Core로 구성 마이그레이션

작성자: Steve SmithScott Addie

이전 문서에서는 ASP.NET MVC 프로젝트를 ASP.NET Core MVC로 마이그레이션하기 시작했습니다. 이 문서에서는 구성을 마이그레이션합니다.

샘플 코드 보기 및 다운로드(다운로드 방법)

설정 구성

ASP.NET Core는 이전 버전의 ASP.NET에서 활용하던 Global.asaxweb.config 파일을 더 이상 사용하지 않습니다. 이전 버전의 ASP.NET에서 애플리케이션 시작 논리는 Global.asax 내의 Application_StartUp 메서드에 배치되었습니다. 나중에 ASP.NET MVC Startup.cs 에서 파일은 프로젝트의 루트에 포함되었으며 애플리케이션이 시작될 때 호출되었습니다. ASP.NET Core는 모든 시작 논리를 파일에 배치하여 이 방법을 완전히 채택했습니다 Startup.cs .

web.config 파일도 ASP.NET Core에서 대체되었습니다. 이제 구성 자체는 에 설명된 애플리케이션 시작 절차의 일부로 구성할 수 있습니다 Startup.cs. 구성은 여전히 XML 파일을 활용할 수 있지만 일반적으로 ASP.NET Core 프로젝트는 JSON 형식의 파일(예: appsettings.json)에 구성 값을 배치합니다. ASP.NET Core의 구성 시스템은 환경 변수에 쉽게 액세스할 수 있으며, 환경별 값에 대해 더 안전하고 강력한 위치를 제공할 수 있습니다. 원본 제어에 체크 인하면 안 되는 연결 문자열 및 API 키와 같은 비밀의 경우 특히 그렇습니다. 구성을 참조하여 ASP.NET Core의 구성에 관해 자세히 알아보세요.

이 문서에서는 이전 문서에서 부분적으로 마이그레이션된 ASP.NET Core 프로젝트부터 시작합니다. 구성을 설정하려면 프로젝트의 루트에 Startup.cs 있는 파일에 다음 생성자 및 속성을 추가합니다.

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

이 시점에서 Startup.cs 는 다음 using 문을 추가해야 하므로 파일이 컴파일되지 않습니다.

using Microsoft.Extensions.Configuration;

적절한 항목 템플릿을 사용하여 프로젝트의 루트에 appsettings.json 파일을 추가합니다.

Add AppSettings JSON

web.config에서 구성 설정 마이그레이션

ASP.NET MVC 프로젝트에는 <connectionStrings> 요소의 web.config에 필요한 데이터베이스 연결 문자열이 포함되어 있습니다. ASP.NET Core 프로젝트에서 이 정보를 appsettings.json 파일에 저장합니다. appsettings.json을 열면 다음이 이미 포함되어 있습니다.

{
    "Data": {
        "DefaultConnection": {
            "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
        }
    }
}

위에 나온 강조 표시된 줄에서 데이터베이스 이름을 _CHANGE_ME에서 데이터베이스 이름으로 변경합니다.

요약

ASP.NET Core는 애플리케이션에 대한 모든 시작 논리를 단일 파일에 저장하며, 이 파일에 필요한 서비스와 종속성을 정의하고 구성할 수 있습니다. web.config 파일을 JSON과 같은 다양한 파일 형식과 환경 변수를 활용할 수 있는 유연한 구성 기능으로 대체합니다.