- ASP.NET Razor Pages 기초 Page Model OnGetAsync()2024년 11월 21일 15시 26분 19초에 업로드 된 글입니다.작성자: Devrun반응형
1. Asynchronous Programming(비동기 프로그래밍) 이란?
오늘은 비동기 프로그래밍 Asyncrhonous Programming에 대해서 작성해보겠다. 비동기 프로그래밍은 시간이 오래 걸리는 작업들 예를 들어 파일 읽기, 데이터 불러오기, 데이터 조회 등을 처리하면서 다른 작업을 동시에 수행할 수 있도록 하는 기법이 비동기 프로그래밍이다.
ASP.NET Core에서는 비동기 작업을 처리하기 위해 async, await, 그리고 task 키워드를 사용한다. 그 중에 GET 요청을 처리하는 OnGetAsync()에 대해서 설명해보겠다.
2. 비동기 작업과 async
비동기 작업은 시간이 오래 걸리는 작업을 처리하면서 다른 작업을 병렬로 수행할 수 있도록 한다. 예를 들어 데이터 조회, api 호출, 파일 읽기 등의 작업이 이에 해당한다.
2-1) 비동기 파일 읽기 예제
if (System.IO.File.Exists("storage.txt")) { using (StreamReader reader = System.IO.File.OpenText("storage.txt")) { string content = await reader.ReadToEndAsync(); // 비동기 파일 읽기 } }
string content라는 변수를 보면 await reader.ReadToEndAsync()라는 값이 대입되어 있다. await은 작업이 완료될 때까지 기다리라는 명령을 하며, 작업이 완료되면 다음 코드로 진행한다. ReadToEndAsync()는 파일의 모든 내용을 비동기적으로 읽는 메서드이다.
3. 비동기 GET 요청 처리 (OnGetAsync)
ASP.NET Core의 OnGet 메서드에서 비동기 작업을 수행하려면 따라야하는 단계가 있다. async 키워드를 추가해야하며, return을 Task로 처리해야한다. 아래는 예제이다.
public async Task OnGetAsync() { if (System.IO.File.Exists("storage.txt")) { using (StreamReader reader = System.IO.File.OpenText("storage.txt")) { string content = await reader.ReadToEndAsync(); // 파일 내용을 활용하는 로직 추가 } } }
OnGet과 OnGetAsync를 동시에 사용할 수 없다. OnGetAsync는 비동기 작업이 필요할 때 사용한다. OnGet은 동기 작업만 처리할 때 사용한다.
4.비동기 작업이 중요한 이유
웹 어플리케이션에서 비동기 작업은 서버 리소스를 효율적으로 사용하고 높은 요청 처리량을 유지하는데 필수이며, 데이터베이스 호출, API 요청, 파일 처리와 같은 시간이 오래 걸리는 작업에서 사용하기 때문이다. 이는 어플리케이션에 성능 향상과 확장성을 가진 어플리케이션을 개발하는데 도움이 된다.
반응형'C# > 닷넷코어' 카테고리의 다른 글
ASP.NET Core MVC Helper Tag asp-for를 label에 표시하기 (0) 2024.11.23 ASP.NET Core MVC에서 데이터 불러와서 View에 표시하기 (0) 2024.11.23 ASP.NET 기초 Razor Pages에서 asp-route-{value} 와 asp-page (0) 2024.11.20 [ASP.NET] Razor Pages - Tag Helpers (0) 2024.11.20 ASP.NET 기초 Razor Pages에서 Partial 사용하 (0) 2024.11.19 다음글이 없습니다.이전글이 없습니다.댓글