別のコントローラのメソッドを呼び出したい。問題は私のプロジェクトでは、すべてのコントローラーがWindsor castleを使用して作成され、Windsor castleが依存関係を解決することです。これは、コントローラをインスタンス化することができないことを意味します。 MVCにコントローラをインスタンス化し、その上でメソッドを呼び出して(オブジェクトを返す)どうすればよいですか?mvcの別のコントローラからコントローラのメソッドを呼び出す
0
A
答えて
0
私はあなたに2つのことを教えてあげます:1)まず、あなたが望むことを達成する可能性が最も高い方法を示します。2)その後、あなたの目標を達成する別の方法:)
1:自動配線を使用する場合、コンテナからのものを取得する方法は、それをコンストラクタ引数として追加することによって依存関係を宣言することです(コンテナと仮定すると、その具体的な種類によってコントローラを解決する方法を知っている):
public class HomeController
{
readonly AccountController accountController;
public HomeController(AccountController accountController)
{
this.accountController = accountController;
}
}
これが最も可能性が高いあなたがHomeController
をwithingからAccountController
であなたがやりたいことができます。しかし、これはそれほど美しくはありません。
2:コントローラを別のコントローラに注入するのは、おそらくあなたが望むものではありません。コントローラーのアクションメソッドで使用しているロジックを専用サービスに移行したいと思っています。 DoSomethingInteresting
が発生し、IDoStuff
が発生し、両方のコントローラがIDoStuff
に依存するようになります。これはあなたに理にかなっていますか?
関連する問題
- 1. Spring MVC、コントローラ内から別のコントローラを呼び出す
- 2. 別のコントローラで1つのコントローラのメソッドを呼び出す?
- 3. コントローラのリポジトリからメソッドを呼び出す(ASP.NET MVC)
- 4. コントローラと別のコントローラでメソッドを呼び出す方法
- 5. MVC3:別のコントローラからの別のコントローラからビューを呼び出す方法
- 6. 別のコントローラからメソッドを呼び出す
- 7. コントローラからメソッドを呼び出す
- 8. 別のコントローラから角度コントローラを呼び出す
- 9. Angularjsがコントローラから別のコントローラに関数を呼び出す
- 10. 別のコントローラから別のアクションメソッドを呼び出す
- 11. Altorouterでコントローラのメソッドを呼び出す
- 12. AngularJS 1.5コンポーネントのコントローラで別のメソッドを呼び出す
- 13. Ajaxリクエスト - Springのコントローラで別のメソッドを呼び出す
- 14. 別のコントローラからコントローラの機能を呼び出す方法は?
- 15. 春の起動時に別のコントローラからコントローラを呼び出す
- 16. kohanaの別のコントローラでコントローラ関数を呼び出す方法
- 17. JQuery関数AjaxメソッドがMVCのコントローラを呼び出さない
- 18. extjs mvcのコントローラからビューを呼び出す方法4
- 19. コントローラからAngularJS 1.5コンポーネントのメソッドを呼び出しますか?
- 20. 別のコントローラからの1つのコントローラの呼び出し関数
- 21. 春のサービスクラスから別のコントローラを呼び出す
- 22. ajaxがmvcコントローラを呼び出す
- 23. codeignetorコントローラで別のコントローラ機能を呼び出す
- 24. JSからコントローラのActionResultメソッドを呼び出す
- 25. ビューからコントローラのメソッドを呼び出す方法は?
- 26. Azure:MVC実装のコントローラからWebRoleメソッドを呼び出す方法
- 27. ビュー内からコントローラのメソッドを呼び出すCakePHP
- 28. コントローラからコンポーネントのメソッドを呼び出す方法
- 29. スカラーコンパニオンオブジェクトからコントローラのメソッドを呼び出す
- 30. ローダーからコントローラのさまざまなメソッドを呼び出す
私たちがあなたのアプローチをよりよく理解できるように、投稿できるコードがありますか? –