-
웹 개발을 하다 보면 HTTP 요청과 관련된 정보에 접근해야 하는 경우가 있다.
이때 HttpContext.Request를 사용하거나, Request를 사용하게 되는데 두 클래스의 차이를 알아보자.
HttpContext는 HTTP 요청 및 응답에 대한 모든 정보를 캡슐화하고, HTTP 요청을 수신할 때 초기화된다.
HttpContext.Request는 HttpContext클래스에 속한 HttpRequest객체에 액세스 하는 방법이다. 주로 미들웨어, 필터, 뷰 컴포넌트 등에서 사용된다.
Request는 'ControllerBase' 클래스나 'PageModel' 클래스의 속성으로 일반적으로 컨트롤러나 Razor Page등 에서 사용된다. 이 Request 속성을 통해 HttpContext.Request에 접근한다.
public HttpRequestBase Request { get { if (HttpContext != null) { return HttpContext.Request; } return null; } }
HttpContext는 .NET과 .NET CORE에서 네임스페이스가 다르다.
// .NET Core using Microsoft.AspNetCore.Http; // .NET using System.Web;
HttpContext.Request 와 Request는 둘 다 클라이언트에서 보낸 HTTP값을 읽을 수 있도록 하는 것이다.
사용 시나리오나 코드의 위치에 따라 적절하게 사용하면 된다.
'Study > C#' 카테고리의 다른 글
[ASP.NET] HTTP Referer (0) 2024.01.30 [C#] exception cref="NotImplementedException" (0) 2024.01.24 [ASP.NET MVC] Filter 필터 (0) 2024.01.07 [ASP.NET MVC] Router (0) 2024.01.03 [ASP.NET MVC] MVC 실행 프로세스 (0) 2024.01.03 댓글