一連のアクション メソッドをChildActionOnly
属性で装飾することを忘れないようにする代わりに、コントローラー全体ですべてのメソッドをそのように指定できると便利です。
コントローラー クラスに属性を配置しようとしてChildActionOnly
も (少なくとも私のコード コンテキストでは) 機能しません。これは、要求パイプラインの初期段階で発生するコントローラーの依存性注入中に、HttpContext または Request オブジェクトがなく、 「このコンテキストではリクエストを使用できません」というエラーがスローされます。
RouteConstraint
ルート自体を強制するを作成できますChildActionOnly
か? 同じリクエスト パイプラインの問題のため、これは疑わしいと思われます。RouteConstraints の実行中に HttpContext が使用可能になるかどうかはわかりません。これを実装する方法についてアイデアがある場合は、共有してください。
ChildActionOnly
リフレクションを使用して特定のコントローラーのすべてのアクション メソッドを検出し、属性が設定されていることを確認する単体テストを作成することもできます...
どうすればこれを達成できますか? いくつかのスターター コードを提供していただけますか (洗練されている必要はなく、機能する必要さえありません。出発点だけでも役に立ちます)。