The solution from the article works fine and compiles.
Just make sure you use the correct namespaces, since some of the classes have the same name under System.Web.Mvc
and System.Web.Http
namespaces.
These are the fully qualified names you should be referencing:
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
Also, remember that once implemented, your filters need to start inheriting from BaseActionFilterAttribute
instead of the original ActionFilterAttribute
(that's the only way you'd get the Position
property).