私は最初のフォームを送信したときに選択した値をポストバックするビューでHtml.DropDownListを持っていたが、その後の各ポストバックは最初のポストバックからデータをポストするという問題が発生した。そこで私は、問題を修正したcastle windsorのコントローラーを構成したコンポーネント要素にlifestyle = "transient"を追加しましたが、要求ごとに新しいコントローラーがインスタンス化されてから、ポストバックに時間がかかりました。上記の情報があれば、コントローラのライフスタイルに関する私の元の質問をどのような洞察、提案、または解決策で判断できますか?すべての助けとサポートをありがとう!ASP.NET MVCのWindsor設定で、コントローラのライフスタイルが常に一時的であるべきですか?
5
A
答えて
6
MVCコントローラは一時的です。それについて考えると、これはいくつかの理由から意味があります。まず、複数のリクエストを処理するために1つのインスタンスを使用し、複数のリクエストが同時に同じコントローラにヒットした場合、かなり奇妙な競合状態が発生します。第二に、HTTPは本質的にステートレスであり、リクエストは互いに独立して存在します。これはコントローラの過渡的なライフスタイルに反映されます。
5
一時的ですが、興味がありますが、TransientではなくPerWebRequestを使用してください。私はPerWebRequestのライフスタイルを使用するいくつかのブログを見てきました。なぜそうでないのか考えることはできません。答えは?
4
私はDionに同意します。この同じ質問に対する解決策を探してここに着いた。 PerWebRequest
がより適切であるようです。
コンテナをMVCとWebApiにどのように統合するかによって、コントローラがもう使用されていないときにウィンザーに依存関係を解放するよう指示することができません。あなたはPerWebRequest
に設定した場合は、要求がLOL
関連する問題
- 1. ASP.NET MVCコントローラでセッションオブジェクトがnullである
- 2. asp.net-mvcで定期的にログインする必要がありますか? ELMAHを使うべきですか?
- 3. クライアント側で設定すべきでないViewModelプロパティ(ASP.NET MVC)
- 4. Asp.netページのコードビハインドファイルがMVCにあるべきです
- 5. MVC4のHttpClientのライフスタイル(Castle-Windsorを使用)
- 6. ASP.NET MVC 2すべてのアクションをあるコントローラから別のコントローラにリダイレクト
- 7. 一般的なASP.NET MVCモデル、コントローラ、ビュー
- 8. ASP.NET MVCコントローラのパラメータが自動的に
- 9. ASP.NET MVCコントローラの設計
- 10. ユニティとライフタイム管理の設定 - 常に一時的なライフタイムマネージャ
- 11. Asp.Net Mvcコントローラの静的コンストラクタ
- 12. 承認はモデルまたはコントローラの一部であるべきですか?
- 13. ASP.NET MVC:すべてのコントローラを取得
- 14. Windsorインストーラをどのプロジェクトに入れるべきですか?
- 15. Castle Windsor Fluent Configuration:具体的な実装をせずに、特定のサービスに特定のライフスタイルを適用することは可能ですか?
- 16. コントローラが特定の「コントローラグループ」の一部であるかどうかを確認
- 17. ASP.NET MVC:コントローラのHttpContextにアクセスするのは良いですか?
- 18. ASP.NET MVCビューでページタイトルを設定するにはどうすればよいですか? ASP.NET MVCのビューで
- 19. 共有レイアウトビューにASP.NET MVCのコントローラがありますか?
- 20. HtmlヘルパーはASP.NET MVCコントローラで利用できますか?
- 21. ASP.NetキャッシュをMVCコントローラ内で使用できますか?
- 22. ASP.Net MVCに一時的にユーザーデータを格納する
- 23. Windsorコンテナを使用してAsp.net MVC 4 Web APIコントローラに依存関係を挿入できません
- 24. ASP.NET MVCコントローラのアクションの設計
- 25. ASP.NET MVCコントローラの規約を変更できますか?
- 26. asp.net mvc:別のコントローラでURLを返す
- 27. ASP.NET MVC AJAXでコントローラにモデルを渡す
- 28. ASP.NETフォーム認証 - ユーザーがログインする前に一時的な一意のIDを取得できますか?
- 29. コールバックバリデータで一般的なフォームエラーを設定できますか?
- 30. ASP.NET MVCアプリケーションでEntity FrameworkとWindsorを使用するとメモリリークが発生する
を終了したときに
は、それが自動的にあなたのコントローラ、およびそのすべての依存関係を解放します。私はおそらくそのことを考慮せずにそのことを思っていたかもしれません。洞察に感謝します。私の質問には確かにYESと思われますが、私は解決策を実現するためにwindsorボックスの中にあまりにも多くのことを考えていました。どうもありがとうございました! – mkelley33
ライフスタイルを定義することなく、 "Singleton"のデフォルトが使用されることを指摘しておく価値があります。それが問題を引き起こすのは間違いありません。 – Ted