我希望自动触发自定义属性,而无需在web api方法上编写

时间:2017-08-18 08:09:36

标签: rest api asp.net-web-api2

我希望自动触发自定义属性,而无需在web api方法上编写该属性。 我能做到这一点的方式是什么?

1 个答案:

答案 0 :(得分:0)

我们假设您有一个动作过滤器属性

public class MyApiActionFilterAttribute : FilterAttribute {
    //...
}

根据您的使用方式,您可以将其分配给班级或行动

public class MyApiController : ApiController {

    [MyApiActionFilter]
    public IHttpActionResult MyAction() {
        return Ok();
    }
}

这仅适用于此操作。

但是,如果您希望将其应用于Web API中的所有(全局)操作,则需要将其添加到配置中。

GlobalConfiguration.Configuration.Filters.Add(new MyApiActionFilterAttribute ());

这通常在启动Web配置Web API时完成。

请注意,在执行上述操作时,过滤器将应用于所有请求。