일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 스프링부트
- cors
- IT story
- ERROR_MESSAGE
- 스프링 시큐리티
- C#
- Newtonsoft.Json
- OUT 파라미터
- java
- springboot
- ORM
- SQL Server 구성 관리자
- SSMS
- System.Text.Json
- jpa
- git
- 권한
- JavaScript
- Exception in thread "main" java.lang.Error
- MSSQL
- 자바
- 데이터베이스
- github
- sql server manager
- IT
- 프로시저
- SQL Server
- .NET 8.0
- SOP
- RAISERRR
- Today
- Total
its_jh_stroy
[C#] .NET 8.0이 실행되는 과정 본문
.NET 8.0이 실행되는 과정
ASP.NET Core 웹앱(Model-View-Controller)로 프로젝트를 만들어보면 MVC 패턴에 맞춰 여러 폴더와 파일이 생성된다.
프로젝트를 실행하면 Home 컨트롤러의 Index 페이지가 _Layout.cshtml 구조 안에서 호출된다.
만약 왜 이렇게 실행되는지 모른다면 웹 개발을 하는 데 있어서 상당한 어려움을 겪게 될 것이다.
따라서 프로젝트 구조도 어느 정도 파악할 겸 .NET 8.0 웹 애플리케이션이 실행되는 과정에 대해 정리해 보았다.
결과적으로 기본 프로젝트를 실행할 때 호출되는 순서는 아래와 같다.
- Program.cs -> 컨트롤러(HomeController.cs) -> 뷰(Index.cshtml) -> 레이아웃 파일(_Layout.cshtml)
Program.cs
프로그램 실행 시 가장 먼저 호출되는 파일이다.
의존성 주입과 미들웨어를 설정하고 애플리케이션을 실행하는 역할을 한다.
미들웨어
들어오는 요청을 어떻게 처리할지 결정하는 역할을 한다.
보통 Use...와 같은 이름으로 시작한다.
아래 각각의 메서드가 미들웨어라고 생각하면 된다.
// Program.cs
// 개발 환경이 아닐 때 예외가 발생하면 /Home/Error 경로로 이동
app.UseExceptionHandler("/Home/Error");
// 웹사이트가 항상 https를 사용하도록 설정
app.UseHsts();
// http 요청을 https로 리다이렉트하는 미들웨어
app.UseHttpsRedirection();
// 정적 파일, 라우팅, 인증(접근 권한 검사) 제공
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
Controller
Program.cs의 app.MapControllerRoute 미들웨어에서 결정되 액션 메서드가 실행된다.
기본 설정은 HomeController로 되어있다.
View
위 컨트롤러에서 반환하는 페이지가 호출된다.
기본 설정은 Index 페이지로 되어있다.
_Layout
반환된 뷰에서 참조하는 레이아웃 페이지가 호출된다.
따로 설정하지 않으면 바로 마스터 레이아웃 페이지를 호출한다.
해당 페이지는 Views/_ViewStart.cshtml 파일에서 확인할 수 있다.
'C#' 카테고리의 다른 글
[C#] ASP.NET Core에서 CORS 문제 해결하기 (0) | 2024.02.08 |
---|---|
[C#] System.Text.Json과 Newtonsoft.Json (0) | 2024.01.30 |
[C#] WorkerService 작업자 서비스 프로젝트에서 의존성 추가하기 (0) | 2023.12.13 |
[C#] WPF WebView2로 웹 페이지 표시하기 (0) | 2023.12.09 |
[C#] Task와 async, await (0) | 2023.11.15 |