ASP.NET Core 웹 어플리케이션에서는 기존의 닷넷 프레임워크와는 다르게 설정파일을 작성합니다.
기존의 닷넷 프레임워크 웹 어플리케이션에서는 IIS에서만 동작하기 때문에 SQL Server와의 통신을 위해
Web.Config파일을 통해 Connection String을 작성하고 사용하였는데,
닷넷 코어 웹 어플리케이션에서는 여러 플랫폼 위에서 동작하기 때문에 다른 방식을 사용하였습니다.
현재 docs.microsoft.com 에서는 SQL Server와의 연결을 위해 EntityFrameworkCore를 추가해
DBContext를 추가하는 방식으로 소개하고 있습니다.
(닷넷 코어에서는 사용하고 싶은게 있으면 일일이 찾아서 누겟으로 추가해 주어야 합니다....)
저는 EntityFramework를 사용하고 싶지 않아 이렇게 하는게 아닌 다른 방식을 찾아보았습니다.
하여 위의 블로그에서 찾아본 방법을 소개합니다.
생성자를 이용하는 방식이기 때문에 추후 해당 방식이 아닌 다른 방식으로 사용할 수 있는 방법이 있으면
추가로 포스팅을 진행하겠습니다.
진행하시기 전에
"Microsoft.Extensions.Options.ConfigurationExtensions"
위의 Logging은 프로젝트 생성 시 WebAPI이나 MVC 템플릿으로 생성 시 자동으로 들어가 있습니다.
밑의 AppSetting 노드를 추가하고 Connection String 내용을 추가합니다.
프로젝트의 루트에 AppSettings 클래스를 추가합니다.
클래스 내부의 내용을 위에서 추가한 appsettings.json의 이름과 동일하게 작성합니다.
Startup.cs에 appsetting.json에서 AppSettings 노드를 찾아 해당 내용을 가져와 추가합니다.
추가 후 Startup.cs에 appsettings.json 파일을 가져오는 부분이 누락되었나 확인합니다.
내용 추가가 완료된 startup.cs 파일 내용입니다. 저는 WebAPI 템플릿으로 프로젝트를 생성하였기 때문에
mvc 관련 내용들도 기본으로 추가되어 있습니다.
컨트롤러에 AppSetting을 프로퍼티로 가져옵니다.
컨트롤러 생성자에 해당 세팅을 IOption으로 가져와 값을 설정해 줍니다.
해당 컨트롤러의 생성자로 진입 시 값이 들어오는 것을 확인하실 수 있습니다.
해당 연결 문자열으로 DB 서버 연결 등에 사용하시면 됩니다.
내용을 보시고 이러면 안될 것 같은데, 다른 좋은 방법이 있는데 하시는 분들은 의견 주시면 수정하도록 하겠습니다.
'개발 > ASP.NET Core' 카테고리의 다른 글
EF Core 에서 분리된 라이브러리에 있는 모델 마이그레이션 (0) | 2021.07.15 |
---|