将数据上下文对象传递给具有依赖注入的控制器是一个好主意吗?

时间:2014-08-11 14:23:17

标签: asp.net-mvc dependency-injection

我目前正在使用CustomControllerFactory对象将服务(每个实现一个接口)传递给我的控制器。

我想知道为我的数据上下文对象做同样的事情是否是个好主意。

目前在我的每个控制器的顶部,我都有一行:

private dataContextClass db = new dataContextClass();

我创建了一个dataContextClass实现的接口。我只能在网上看到人们通过依赖注入传递服务的例子。是否也可以传递数据上下文对象?

1 个答案:

答案 0 :(得分:2)

当然,这是一个好主意。上下文是控制器的依赖关系,因此如果您使用依赖注入,则应该注入。但是,您没有指定您正在使用的MVC版本,但在MVC 3中不推荐使用自定义控制器工厂。如果您正在使用该版本或更高版本,则应通过{{处理注入1}}。而且,一般来说,使用像Unity或Ninject这样的成熟DI容器通常比尝试从头创建自己的容器更好。