目前,我正在檢測一個 QueryString 并在控制器的 Action 上創建會話。查詢字串可以與站點內任何深層頁面的 url 一起傳入。我不想在我的大部分操作中對其進行編碼。
因此,我想知道,是否有一種通用的方法可以在任何涉及站點頁面的請求中檢測 URL 中的 QueryString。我想我可以從“控制器”創建一個“BaseController”,并將我當前的所有控制器更改為從 BaseController 繼承。
還有其他方法嗎?可能在 RouteConfig.cs 中?啟動.Auth.cs?
uj5u.com熱心網友回復:
(.Net Core) 您可以創建自定義中間件以使用 Httpcontext 檢測任何請求。 閱讀更多關于中間件的資訊 。自定義中間件示例
uj5u.com熱心網友回復:
感謝 KHAL,您的提示。
所以在經典的 ASP.NET MVC 中,在 Startup.Auth.cs 檔案中
app.Use(async (context, next) =>
{
var referral = context.Request.Query["referral"];
if(referral == "whatever")
{
//Do your thing ;)
}
// Call the next delegate/middleware in the pipeline
await next();
});
但是,請注意,如果要使用 Session,Startup.Auth.cs 檔案中 this 的位置至關重要。它不能在檔案的頂部
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/337266.html
標籤:asp.net-mvc
上一篇:在Asp.NetMVC中使用GoogleWorkbox實作離線功能
下一篇:正文小于html
