コントローラとアクションのNinjectとMVC3の依存性注入アクションフィルタの問題

StackOverflow https://stackoverflow.com/questions/5881026

質問

最近、コントローラー内のアクションレベルフィルターのヒープを削除し、それらを単一のコントローラーレベルフィルターに置き換えることにしました。

このエラーメッセージが表示されます。 ジェネラコディセタグプレ

私が変更したのは、アクションフィルターが2回バインドされていることに関連していると確信しています。ただし、ドキュメントをここで表示するとそれが同じことを指定/実行していることがわかります。ですから、何が間違っているのかよくわかりません。

私のサンプルコントローラー ジェネラコディセタグプレ

私の登録コード ジェネラコディセタグプレ

役に立ちましたか?

解決

これは、コントローラーとそのアクションの1つが同時にLogActionAttributeを持っている場合に発生します。

他のヒント

(回答がすでに受け入れられていることは知っていますが、これは文書化のためです。)

リリースバージョンしか使用できない場合の一時的な解決策は、2つのサブクラスを作成し、それらを別々に登録することです。これが私のアプリケーションの例です: ジェネラコディセタグプレ

次に、フィルターバインディングを設定します: ジェネラコディセタグプレ

必ず正しい 'WithConstructorArgumentFrom [ Controller / Action ] Attributeメソッドを呼び出すようにしてください。そうしないと、「シーケンスに要素がありません」というエラーが発生します(私はそうしました)。

より良い回避策。実際、コントローラーとアクションの2つのバインディングではなく、新しいバージョンでもこれを使用しています。 ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top