3

WebAPIコントローラーに2つのフィルターを追加しました。

[FooFilter]
[BarFilter]
public IQueryable<SomeEntity> GetSomething()
{
    ...

残念ながら、それらはランダムな順序で実行されています。

MVCスタックの場合、実行できるOrderプロパティがあります

[FooFilter(Order = 1)]
[BarFilter(Order = 2)]
public IQueryable<SomeEntity> GetSomething()
{
    ...

StrathWebに、WebAPIへのサポートの追加に関する記事がありますがOrder、これは時代遅れのようで、私にはコンパイルされません。

OrderSOのC#ウィザードには、WebAPIの属性を実装/スタブする方法に関するアドバイスがありますか?

4

1 に答える 1

2

記事のソリューションは正常に動作し、コンパイルされます。

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

于 2013-01-14T17:17:10.083 に答える