1

我对 IServiceLocator、IMvcServiceLocator、IDependencyResolver 等有点困惑……

定位服务的 ASP.NET MVC 3 RTM 方式是什么?

我只需要访问类似的东西

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

从任何地方(包括另一个程序集)。

编辑:示例

我的网络应用程序有一种模块化架构。主题是模块的一个方面。每个主题都是一个单独的类库。不可能知道一个主题需要什么服务。例如,某些视图可能会显示标签云小部件,而该小部件需要 TagRepository 的实例。

目前我正在将 Windsor 用于 IoC,我可以为模块公开该容器。但我真的不想让每个模块都依赖于 Windsor。我想知道标准 Mvc 库中是否有解决方案,因为模块无论如何都需要引用它。

4

1 回答 1

0

Asp.net Mvc 没有它自己的 DI 容器。您必须实现 IDependencyResolver。看看这个问题:Castle Windsor Dependency Resolver for MVC 3

于 2011-01-27T19:32:31.923 回答