ASP.NET Core에서 HttpContext.Current는 더 이상 사용되지 않습니다. 이 문서에서는 현재 HTTP 컨텍스트에 액세스하는 대체 접근 방식을 살펴봅니다.
1. HttpContext 속성
컨트롤러의 HttpContext 속성을 통해 현재 HTTP 컨텍스트에 액세스할 수 있습니다:
public class HomeController : Controller { public IActionResult Index() { MyMethod(HttpContext); return View(); } private void MyMethod(Microsoft.AspNetCore.Http.HttpContext context) { // Use the HTTP context here } }
2. 미들웨어의 HttpContext 매개 변수
사용자 지정 ASP.NET Core 미들웨어에서 현재 HTTP 컨텍스트는 Invoke 메서드에 매개 변수로 자동으로 삽입됩니다.
public async Task InvokeAsync(HttpContext context) { // Use the HTTP context here }
3. HTTP 컨텍스트 접근자
ASP.NET Core 종속성 주입으로 관리되지 않는 클래스의 경우 IHttpContextAccessor 도우미 서비스를 사용할 수 있습니다.
public class MyService { private readonly IHttpContextAccessor _httpContextAccessor; public MyService(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } public void UseHttpContext() { var context = _httpContextAccessor.HttpContext; // Use the HTTP context here } }
ConfigureServices에서 HttpContextAccessor를 등록하는 것을 잊지 마세요. :
public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); // ... }
위 내용은 ASP.NET Core에서 HttpContext에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!