在 ASP.NET Core 應用程式中存取 HttpContext
從 ASP.NET Web Forms 遷移到 ASP.NET Core 需要架構設計的轉換。 熟悉的HttpContext.Current
不再可用。
替代方法
以下是在 ASP.NET Core 中存取 HTTP 上下文的方法:
直接HttpContext
存取(控制器):在控制器內部,HttpContext
屬性提供直接存取。 您可以將其作為參數傳遞給需要此資訊的方法。
HttpContext
: 自訂中間件自動接收 HttpContext
作為其 Invoke
方法中的參數。
IHttpContextAccessor
服務: 對於由 ASP.NET Core 的依賴注入管理的類,請使用 IHttpContextAccessor
服務。將此介面注入到類別的建構函式中以安全地存取 HTTP 上下文。 記得在IHttpContextAccessor
中註冊ConfigureServices
。
重要考量:
ASP.NET Core 提倡鬆散耦合。應盡量減少直接HttpContext
訪問。針對需要上下文特定資料的服務探索替代解決方案,例如依賴注入。 這提高了程式碼的可維護性和可測試性。
以上是如何在 ASP.NET Core 中存取 HttpContext?的詳細內容。更多資訊請關注PHP中文網其他相關文章!