別のコントローラー アクション (メソッド) 内から特定のコントローラー アクション (メソッド) を呼び出そうとすると、呼び出しているアクションに適用されている属性が適用/適用されません。
たとえば、次のようにいくつかの属性が適用された Controller アクションがあるとします。
[Authorize]
[HttpPost]
public ActionResult SaveUsers(List<User> users) { .. }
次に、このアクションを別のコントローラーアクションから呼び出します。属性は実行/適用されません。
MVC は、「ActionInvoker」のデフォルト実装内でこれらの ActionFilterAttribute/ActionMethodSelectorAttribute の実行を管理しているようですが、残念ながら、ActionInvoker を直接使用すると、アクション メソッドの結果は返されず、単にアクションを呼び出して直接書き込みます応答ストリームに。
私の目標はこれです:
- 特定のアクション メソッドを呼び出す
- 属性を適用/実行する
- アクションメソッドから結果を取得する
1と3は出来ましたが、2は出来ませんでした。