この状況を最適に構成する方法に関するアドバイスを探しています。 ASP MVCアプリケーションには次のコンポーネントがあります。城ウィンザーコンポーネントライフスタイルのアドバイス
- コントローラ - MVC
- サービスの要件によって過渡 - サービスコンポーネントを検証するためにこれらを使用する - コントローラーは、ビジネス層
- バリデータを取得するためにこれらを呼び出します。これらは私が
- リポジトリ彼らはシングルトンである必要がありそう作成するのに費用がかかる - サービスとバリデータは、データにアクセスするためにこれらを使用 ISession
- - NHibernateのセッションは、私が設定する最善の方法で探していますPerWebRequest
として設定サービスとリポジトリ。表面上では、両方が同じように構成できるように思われる。リポジトリのみの依存性(コンストラクタで渡される)は、ISessionです。サービスのみの依存関係(コンストラクタで渡される)はリポジトリです。サービスがバリデーターを必要とする場合、ServiceLocatorから取得します。バリデータはコンストラクタにリポジトリを取得します。バリデーターはシングルトンを過渡リポジトリーに渡すので、バリデーターは処理されたISessionを持つリポジトリーを保持するため、問題があります。
ここにお手伝いいただければ幸いです。