2

デフォルトでは、MVC4 WebApi プロジェクトには 2 つあることがわかりますIFilterProviders: TheConfigurationFilterProviderActionDescriptorFilterProvider. IFilterProviderプロパティ依存性注入を行うカスタムを設定する場合、最初に Filters コレクションからこれらの両方を削除するのが適切ですか? それとも、 を削除して をコレクションにActionDescriptorFilterProvider残す方が適切ですか?ConfigurationFilterProvider

次に、WebApi HttpActionFilterAttributeが特定のアクション用に構築された後、そのまま残っているように見えます。たとえば、ApiController の Get メソッドにカスタム アクション フィルターを配置すると、そのメソッドが最初に呼び出されたときにのみ構築されます。api メソッドへの後続の呼び出しは、同じフィルターを再利用するように見えます (コンストラクターのブレークポイントは、最初の呼び出し中にのみヒットします)。これは正しいですか?メソッド呼び出しごとに新しいインスタンスが作成される MVC アクションフィルターと異なるのはなぜですか?

4

1 に答える 1

1

最初に Filters コレクションからこれらの両方を削除するのは適切ですか?

これらの FilterProvider のいずれも削除せずに、アクション フィルターに依存性注入を実装することに成功しました。ActionDescriptorFilterProvider実際、私の例では StructureMap を使用して を拡張しています。

http://evolutionarydeveloper.blogspot.co.uk/2012/11/webapi-actionfilter-dependency.html

残念ながら、2番目の質問に光を当てることはできません:-)

于 2012-11-07T23:05:45.643 に答える