Fluent-API to add ActionFilters to Controller in ASP.NET MVC - Fredrik Normén
面白カッコイイ。属性ベースでのActionFilter指定じゃなくて、コードでController/ActionにActionFilterを指定(Dictionary<string, IList<FilterAttribute»)。
それを実現するためにControllerActionInvokerを派生させたActionFilerConfigControllerActionInvokerを作成(FilterInfoにDictionaryに登録されたActionFilterたちを登録しなおす処理をGetFiltersのoverrideで実行)。で、そのActionInvokerを使うためにDefaultControllerFactoryを派生したActionFilterConfigControllerFactoryを作成して、ControllerBuilder.Current.SetControllerFactoryで登録。
宣言的なほうが好きな場合はこれまで通り属性指定でいいし、コードで1か所でまとめて指定するほうが好きな場合はこのやり方で。なんかもう素敵すぎる。