我正在使用MVC,我的应用程序是一个可以连接到多个数据源的管理应用程序。

我想要一些有关如何将连接字符串传递到控制器的建议。 任何我可以做研究的建议都会非常感激。

到目前为止,我见过这样的例子:

   protected IProductsRepository ProductsRepository = null; 

   public ProductsController(IProductsRepository productsRepository) 
   { 
      ProductsRepository = productsRepository; 
   } 

但是控制器如何为productsRepository注入正确的值? 我看到了一些有关IOC产品的信息,但是我不确定从哪里开始,这些产品是否不更适合大型应用?

===============>>#1 票数:2

根据您的全部要求,您可以参考以下内容:

一个依赖注入框架,如StructureMap。 这是一篇文章

为了简单地自己处理控制器构造,您将需要创建一个实现IControllerFactory的自定义控制器工厂。 这篇关于MVC应用程序执行过程的文章应该可以帮助您更好地理解。

实现IControllerFactory ,可以像下面这样在Global.asax中将其连接:

protected void Application_Start()
{
    RegisterRoutes(RouteTable.Routes);

    ControllerBuilder.Current.SetControllerFactory(typeof(CustomControllerFactory));
}

===============>>#2 票数:1

我会使用Unity作为IOC容器。 它不是.NET框架的一部分,但来自Microsoft。 另一种选择是MEF 这是框架的一部分,而不仅仅是IOC框架。

编辑:@Daniel建议在http://nuget.org/packages/Unity.Mvc3上有一个MVC3的Nuget包。 我在项目中经常使用Unity。

  ask by Samantha J T Star translate from so

未解决问题?本站智能推荐:

1回复

静态存储库 - 解决方法

首先,一些背景。 我们最近接受了一个大型的MVC3项目。 该项目已经准备好在不久前上线,然后客户决定他们想要重新设置整个网站的主题并添加更多功能。 他们雇用我们重新设计网站主题,完成剩余的功能并进行部署。 通常它是使用非常清晰,有序的方法构建的,每个数据库表都有一个存储库和一个清晰的
3回复

MVC中的IoC:如何处理从控制器到模型的服务对象流?

我正在使用MVC3,并已实现IoC,以通过构造函数参数向控制器提供服务/管理器对象。 这些反过来可能会传递给模型。 我遇到的问题是,到处传递这些对象会很麻烦。 例: 购物车模型可能具有必须向其传递参数的子模型。 如您所见,这一切都变得非常麻烦。 如果您有太多构造函数参数
2回复

Unity IoC和MVC 3 Beta-将IRepository传递给控制器​​构造函数

MVC 3有什么变化吗? 我已经尝试了Internet上的所有示例来将Unity设置为我的IoC容器,但是我一直收到一条错误消息,说Unity无法解析我的UserController。 这是我的UserController上的构造函数: 我已经注册了IUserService,这不是问
2回复

具有依赖注入的基本控制器的设计模式 - MVC 3 + Ninject

我有这种模式 所以我能够做这样的事情 在我的所有控制器中。 我确信这是DI和IoC的反模式,所以我简化了这样的解决方案 但是这个解决方案要求我在所有控制器中插入所有依赖项并更新所有构造函数,如果我需要一个新的全局变量(如rep)或一个新的私有变量用于basecontro
1回复

我正在将我的服务注入控制器。 我应该将服务注入到ViewModel中吗?

因此,我一直在建立一个全新的网站来替换我们当前的经典asp网站。 我建立了一个基础项目,并添加了将要使用的所有不同技术。 Ninject自动映射器PagedList EF 4.0 到目前为止,我已经可以使用该网站的原型。 它从数据库中提取数据,并显示在我的页面上。 我认为我没有
2回复

在转换为新供应商的过程中,如何有效地将一个应用程序映射到两个数据库后端?

好的。 我使用MVC3开始了一个新项目。 我已经从NuGet实现了EF4.1,Automapper,Ninject,PagedList。 我花了两天时间充实了我的模式,建立了IOC和接口。 我将我的服务注入我的控制器,将我的存储库注入我的服务,将我的DbContext注入我的存储库。
1回复

StructureMap Setter注入不设置属性

我正在尝试使用StructureMap为我的MVC项目设置setter / property注入,但我似乎无法设置属性。 我很清楚构造函数注入是推荐的做法,但我有一个严格的要求,要求我们使用setter注入,所以请保持评论试图告诉我否则。 我有正常的样板设置代码,例如我的Global.a
1回复

在一个简单的mvc3项目中实现IOC /依赖注入

我使用MVC3构建了一个简单的票务跟踪系统。 为了进行测试,我想实现IOC / DI。 现在,我的控制器直接与数据库进行交互,这对TDD不利。 我对这个话题很陌生。 现在,我的TicketDB.cs模型如下所示: 我的TicketController.cs控制器如下所示:
2回复

基础控制器类的属性注入

我正在尝试在从我的BaseController类派生的任何控制器上自动设置属性。 这是我的Application_Start方法中的代码。 当我尝试访问它时, UnitOfWork属性始终为null。 这是BaseController的样子 我试图通过属性而不是通过构造函数来
1回复

具有相同接口的两个实例的Castle Windsor注入控制器

我有这样的控制器 我以这种方式安装了容器: 我还设置了以下设施: } ...并安装: 因此,当我使用控制器时,两个参数都将与AccountsRepository实例一起注入(该实例首先被注册)。 当然,我想分别将“数据”作为DataRepository。