[英]Creating custom FilterAttribute for method parameters
是否可以为传入参数创建自定义FilterAttribute? 通常,属性用于方法和类。
例如我的想法是:
public HttpResponseMessage GetAll([CultureInfo]string culture)
{ if(valid) { // code here } }
CultureInfo是一个从ActionFilterAttribute继承的类(CultureInfoAttribute),在这里我可以使用2个称为OnActionExecuted和OnActionExecuting的方法。 在我的课堂上,我使用了下一个属性,因此可以在参数上使用它:
[AttributeUsage(AttributeTargets.Parameter)]
当我构建并调用GetAll(“ culture”)时,自定义过滤器中的OnActionExecuting方法永远不会被调用....当我将属性放在方法GetAll()上方时,它确实会被调用。
有人有经验吗?
我想这样做的原因是因为我可以将属性放在不同的参数上,而不是一次将整个方法放在上面。
我认为您的问题在这里得到了回答:
您应该像这样在Global.asax.cs
GlobalFilters
中注册过滤器:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new CultureInfoAttribute());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.