Application_BeginRequest メソッドでルート/アクション (アクションのみ、コントローラーを変更する必要はありません) を変更する方法、またはコントローラーに到達する前に他の方法を知っている人は誰でも知っています。
これが私の現在の解決策です:
public class MyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.ContentType == "application/x-amf")
{
//... some stuff
filterContext.ActionParameters["target"] = body.Target;
//...
base.OnActionExecuting(filterContext);
}
}
}
そして、私はすべてのアクションでターゲットを獲得します
[MyFilter]
public ActionResult(string target)
{
return RedirectToAction(target);
}