In WebAPI, è comunque necessario registrare il nome del metodo di azione per un controller che viene chiamato o eseguito utilizzando un filtro di azione. Sto usando la proprietà RouteData come mostrato di seguito, ma il valore dell'azione non contiene alcun valore. C'è un modo per ottenere il nome dell'azione nel filtro.Come registrare quale metodo di azione viene eseguito in un controller in webapi
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
Log(actionExecutedContext.ActionContext.RequestContext.RouteData);
base.OnActionExecuted(actionExecutedContext);
}
private void Log(System.Web.Http.Routing.IHttpRouteData httpRouteData)
{
var controllerName = httpRouteData.Values["controller"];
var actionName = httpRouteData.Values["action"];
var message = String.Format("controller:{0}, action:{1}", controllerName, actionName);
Debug.WriteLine(message, "Action Filter Log");
}
}
Grazie per aver risposto, Filip. – user2813261