是否可以为传入参数创建自定义FilterAttribute? 大多数属性用于方法和类;
例如我的想法是:
public HttpResponseMessage GetAll([CultureInfo]string culture)
{
if(valid)
{
// code here
}
}
CultureInfo是一个继承自ActionFilterAttribute的类(CultureInfoAttribute),我可以使用2个名为OnActionExecuted和OnActionExecuting的方法。 在我的课程之上,我使用了下一个属性,所以我可以在参数上使用它:
[AttributeUsage(AttributeTargets.Parameter)]
当我构建并且我调用GetAll(“culture”)时,我的自定义过滤器中的OnActionExecuting方法永远不会被调用....当我将该属性放在我的方法GetAll()之上时,它会这样做。
任何人都有经验吗?
我想这样做的原因是因为我可以将属性放在不同的参数上,而不是整个方法。
答案 0 :(得分:0)
我认为您的问题已经回答here:
您应该在GlobalFilters
Global.asax.cs
中注册过滤器,如下所示:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new CultureInfoAttribute());
}