在我的自定义授权属性代码中,我想确定调用了哪个WebAPI方法。
我很欣赏我可以通过传递名称来做到这一点(参见示例2),但我宁愿不必这样做。
g
我有办法以某种方式选择这个吗?
答案 0 :(得分:4)
如果从AuthorizeAttribute
派生,您可以通过ActionDescriptor
HttpActionContext
public class CustomAuthAttribute : AuthorizeAttribute {
public override void OnAuthorization(HttpActionContext actionContext) {
var actionDescriptor = actionContext.ActionDescriptor;
var actionName = actionDescriptor.ActionName;
var controllerName = actionDescriptor.ControllerDescriptor.ControllerName;
//MethodName = "mycontroller/get"
var methodName = string.Format("{0}/{1}", controllerName, actionName);
}
}