在MVC6中创建控制器时实际发生了什么?

时间:2017-02-17 08:52:17

标签: c# dependency-injection architecture asp.net-core-mvc

当我尝试制作MVC6应用程序时,我想到了将ViewModel图层添加到我的网站。所以我想用这样的服务来实现它:

public void ConfigureServices(IServiceCollection services)
{
    services.AddViewModels();
}

所以我得到了一个对应模型的视图,用法如下:

public IActionResult Detail([FromService]ArticleDetailViewModel vm)
{
    return View(vm);
}

ArticleDetailViewModel应由工厂自动生成,就像其他服务项一样。但我认为将所有ViewModel添加到ServiceProvider并不是一个好方法。

然后是问题: 我怎样才能做到这一点?

我已经知道控制器是由每个请求DefaultControllerFactory创建的。但是我不知道工厂何时注册了服务以及请求如何调用创建方法?

或者我可能走错了路? 非常感谢。

0 个答案:

没有答案