0
を実行します。ウェブAPIルート値アクションに空である私は私のコントローラのアクションにカスタムアクションフィルターを使用していますフィルタ
私のコントローラのアクションは、このようなものです:
[HttpPost]
[Route("listener")]
[MyAttr]
public IHttpActionResult Listener([FromBody]Parameters request)
{
return Ok();
}
私はアクションフィルタからRoute("listener")
値にアクセスしたいです。
public class MyAttr: ActionFilterAttribute
{
public async override Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
{
var route = actionExecutedContext.ActionContext.RequestContext.RouteData;
}
}
ただし、RouteData値コレクションには項目はありません。ルート値にはどのようにアクセスできますか?
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
そのないルートデータ、ルートデータはURLのみで供給することができると、あなたの方法は、http本体に供給されたデータを持っています。 – Igor
はどうすればルート属性パラメータの「聞き手」にアクセスすることができますか? @bookmarker – barteloma
あなたは、要求がに来ているURIにアクセスしたいですか? –