0
我試圖找回控制器和動作,我以路由控制器和行動在中間件
var routeData = context.GetRouteData();
中間件的Invoke方法裏面嘗試了這一點,但它產生空每次。
是否有可能在中間件中檢索路由數據?
我想要實現的是檢查請求的操作是否具有[RequireToken]屬性,如果是,它將檢查傳入標頭是否有特定的標記。
我試圖找回控制器和動作,我以路由控制器和行動在中間件
var routeData = context.GetRouteData();
中間件的Invoke方法裏面嘗試了這一點,但它產生空每次。
是否有可能在中間件中檢索路由數據?
我想要實現的是檢查請求的操作是否具有[RequireToken]屬性,如果是,它將檢查傳入標頭是否有特定的標記。
動作/控制器上下文非常特定於中間件管道的MVC部分。無法在MVC管道本身之外檢索路徑數據。
爲了達到所期望的行爲,你應該看看如何實現一個ActionFilter代替:https://docs.asp.net/en/latest/mvc/controllers/filters.html
這正是我一直在尋找!我設法通過使用ActionFilter來操作動作結果,這解決了我的問題。 – thax