1

IServiceLocator、IMvcServiceLocator、IDependencyResolverなどと少し混乱しています...

ASP.NET MVC 3 RTMでサービスを見つける方法は何ですか?

必要なのは次のようなものにアクセスすることだけです

T Resolve<T>();
T Resolve<T>(string key);

どこからでも(別のアセンブリを含む)。

編集:例

私のウェブアプリは一種のモジュラーアーキテクチャを持っています。テーマはモジュールの1つの側面です。各テーマは個別のクラスライブラリです。テーマに必要なサービスを知ることはできません。たとえば、一部のビューにタグクラウドウィジェットが表示され、そのウィジェットにはTagRepositoryのインスタンスが必要な場合があります。

現在、Windsor for IoCを使用しており、そのコンテナーをモジュール用に公開できます。しかし、すべてのモジュールをWindsorに依存させたくはありません。モジュールはとにかくそれへの参照を必要とするので、標準のMvcライブラリに解決策があるかどうか知りたいです。

4

1 に答える 1

0

Asp.net Mvcには、独自のDIコンテナーがありません。IDependencyResolverを実装する必要があります。この質問を見てください:MVC3用のCastleWindsor Dependency Resolver

于 2011-01-27T19:32:31.923 に答える