コントローラとアクションのNinjectとMVC3の依存性注入アクションフィルタの問題
-
28-10-2019 - |
質問
最近、コントローラー内のアクションレベルフィルターのヒープを削除し、それらを単一のコントローラーレベルフィルターに置き換えることにしました。
このエラーメッセージが表示されます。 ジェネラコディセタグプレ
私が変更したのは、アクションフィルターが2回バインドされていることに関連していると確信しています。ただし、ドキュメントをここで表示するとそれが同じことを指定/実行していることがわかります。ですから、何が間違っているのかよくわかりません。
私のサンプルコントローラー ジェネラコディセタグプレ
私の登録コード ジェネラコディセタグプレ
解決
これは、コントローラーとそのアクションの1つが同時にLogActionAttributeを持っている場合に発生します。
他のヒント
(回答がすでに受け入れられていることは知っていますが、これは文書化のためです。)
リリースバージョンしか使用できない場合の一時的な解決策は、2つのサブクラスを作成し、それらを別々に登録することです。これが私のアプリケーションの例です: ジェネラコディセタグプレ
次に、フィルターバインディングを設定します: ジェネラコディセタグプレ
必ず正しい 'WithConstructorArgumentFrom [ Controller / Action ] Attributeメソッドを呼び出すようにしてください。そうしないと、「シーケンスに要素がありません」というエラーが発生します(私はそうしました)。
より良い回避策。実際、コントローラーとアクションの2つのバインディングではなく、新しいバージョンでもこれを使用しています。 ジェネラコディセタグプレ
所属していません StackOverflow