구성을 ASP.NET Core로 마이그레이션
이전 문서에서는 ASP.NET MVC 프로젝트를 ASP.NET Core MVC로 마이그레이션하기 시작했습니다. 이 문서에서는 구성을 마이그레이션합니다.
설정 구성
ASP.NET Core는 이전 버전의 ASP.NET에서 활용하던 Global.asax 및 web.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의 구성에 관해 자세히 알아보세요.
Warning
이 문서에서는 사용자를 인증할 필요가 없는 로컬 데이터베이스를 사용합니다. 프로덕션 앱은 사용 가능한 가장 안전한 인증 흐름을 사용해야 합니다. 배포된 테스트 및 프로덕션 앱의 인증에 대한 자세한 내용은 보안 인증 흐름을 참조 하세요.
이 문서에서는 이전 문서에서 부분적으로 마이그레이션된 ASP.NET Core 프로젝트부터 시작합니다. 구성을 설정하려면 프로젝트의 루트에 Startup.cs
있는 파일에 다음 생성자 및 속성을 추가합니다.
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
이 시점에서 Startup.cs
는 다음 using
문을 추가해야 하므로 파일이 컴파일되지 않습니다.
using Microsoft.Extensions.Configuration;
적절한 항목 템플릿을 사용하여 프로젝트의 루트에 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과 같은 다양한 파일 형식과 환경 변수를 활용할 수 있는 유연한 구성 기능으로 대체합니다.
ASP.NET Core