WebAPI过滤器:任何stub Filter.Order的方法
本文关键字:Order 方法 Filter stub 过滤器 任何 WebAPI | 更新日期: 2023-09-27 17:52:50
我在WebAPI控制器中添加了两个过滤器:
[FooFilter]
[BarFilter]
public IQueryable<SomeEntity> GetSomething()
{
...
不幸的是,它们的执行顺序是随机的。
对于MVC堆栈,有一个Order
属性在那里我们可以做
[FooFilter(Order = 1)]
[BarFilter(Order = 2)]
public IQueryable<SomeEntity> GetSomething()
{
...
StrathWeb上有一篇关于在WebAPI中添加Order
支持的文章,这篇文章似乎过时了,对我来说根本无法编译。
是否c#向导有关于如何实现/存根Order
属性的WebAPI的任何建议?
本文中的解决方案运行良好并可编译。
请确保使用正确的名称空间,因为有些类在System.Web.Mvc
和System.Web.Http
名称空间下具有相同的名称。
这些是你应该引用的完全限定名:
System.Web.Http.Filters.IFilter
System.Web.Http.Filters.ActionFilterAttribute
System.Web.Http.Filters.FilterScope
System.Web.Http.Filters.FilterInfo
System.Web.Http.Filters.IFilterProvider
另外,请记住,一旦实现,您的过滤器需要开始继承BaseActionFilterAttribute
而不是原始的ActionFilterAttribute
(这是您获得Position
属性的唯一方法)。