首頁 > 後端開發 > C++ > 如何在 ASP.NET Core 中存取 HttpContext?

如何在 ASP.NET Core 中存取 HttpContext?

Linda Hamilton
發布: 2025-01-19 15:02:09
原創
711 人瀏覽過

How to Access HttpContext in ASP.NET Core?

如何在 ASP.NET Core 擷取 HttpContext.Current

在 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 Context Accessor

對於不由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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板