• [ASP.NET] HttpContext.Request 와 Request

    2024. 1. 30.

    by. 히리 (heelee)

    웹 개발을 하다 보면 HTTP 요청과 관련된 정보에 접근해야 하는 경우가 있다.

    이때 HttpContext.Request를 사용하거나, Request를 사용하게 되는데 두 클래스의 차이를 알아보자.

     

    HttpContext는 HTTP 요청 및 응답에 대한 모든 정보를 캡슐화하고, HTTP 요청을 수신할 때 초기화된다.

     

    HttpContext.RequestHttpContext클래스에 속한 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

    댓글

Designed by Nana