如何使用不同的注入实例化MVC3控制器

时间:2012-06-20 16:29:37

标签: c# asp.net-mvc ninject.web.mvc

这是我的第一个问题,所以我会尽量不要羞辱自己。

我现在正在做的是向MVC3 Controller的构造函数注入两个依赖项对象。

但是为了应用程序逻辑,我需要在(运行时)未来的某个时候用新的对象更改这些对象。显然,显而易见的情况是让MVC创建一个注入新对象的新控制器。好吧,但我如何让MVC生产出新的控制器呢?

这是控制器(如果它是相关的,或仅用于视觉识别):

  public class RestoreController : Controller {
    private readonly StatusProvider statusProvider;
    private readonly AppHost appHost;

    public RestoreController(StatusProvider statusProvider, AppHost appHost){
        this.statusProvider = statusProvider;
        this.appHost = appHost;
    }

PS 我考虑过其他一些解决方案,但我希望有些人能够确定无法做到这一点。

那可以吗?

我很乐意听到有关我的问题的评论。 Tnx,有一个不错的。

1 个答案:

答案 0 :(得分:0)

每次尝试访问控制器时都会创建一个控制器实例(说调用依赖于它的视图)。因此,如果您在运行时注入引用的对象,如果它们已经更改(实例值),您应该在Controller上进行更改