当我尝试从另一个控制器操作(方法)中调用特定的控制器操作(方法)时,已应用于我正在调用的操作的属性不会被应用/强制执行。
例如,如果我有一个控制器操作,其中应用了一些属性,如下所示:
[Authorize]
[HttpPost]
public ActionResult SaveUsers(List<User> users) { .. }
然后我从另一个控制器操作中调用此操作,属性未执行/强制执行。
MVC 似乎在其“ActionInvoker”的默认实现中管理这些 ActionFilterAttribute/ActionMethodSelectorAttribute 的执行,但不幸的是,当您直接使用 ActionInvoker 时,它不会返回操作方法的结果,而是简单地调用操作并直接写入到响应流。
我的目标是:
- 调用特定的动作方法
- 具有强制/执行的属性
- 从 action 方法中获取结果
我设法做到了1和3,但没有做到2。