コントローラのアクションメソッドに、カスタムアプリケーションのユーザー情報を含む共通のクラスインスタンス(UserSessionInfoと呼ぶことができます)へのアクセスを提供する必要があります。インターフェイスとラッパー、カスタムモデルバインダー、またはコントローラに共通クラスを提供するActionFilter?
現時点では、httpセッションから直接ベースコントローラによって引き出されていますが、HTTPContextに依存するオブジェクトのすべての依存関係を削除して、コントローラをよりクリーンでテスト可能にしようとしています。
私の理解は、三つの可能な解決策があることで、
- コントローラのコンストラクタに各アクションメソッドにUserSessionInfoを提供する
- のActionFilterそれを注入します。
- 各アクションメソッドにUserSessionInfoを提供するためのIModelBinder実装。
私は感謝2と3
すべてのヘルプの違いを完全に理解するのに苦労1のまともな理解を持っています。
おかげで、
マット