在mvc 6的ConfigureServices方法中添加services.AddMvc()的目的是什么?

时间:2015-02-20 20:42:58

标签: asp.net-core-mvc

为什么不在mvc6应用程序中的Configuration方法中添加app.UseMvc()?为什么还需要在ConfigureServices方法中添加services.AddMvc()?我在哪里可以找到更多关于此的信息?

谢谢。

1 个答案:

答案 0 :(得分:9)

在这个新的ASP.NET 5世界中,应用程序开发有两个主要方面。

  1. 依赖注入。 Aka运行我们的应用程序需要哪些服务?
  2. 应用程序/请求管道。基本上我们回答问题的方式是"当请求到达服务器时该怎么做"。
  3. 由于这两个主要问题,恰好有两种机制可以捆绑到系统中。

    首先,UseMVC是您的应用程序可以说我希望MVC参与请求处理阶段的方式,这是"这个"点。它本质上是MVC特定中间件的快捷方式。

    其次,AddMvc是您的应用程序表示您希望MVC服务可用于系统(需要UseMvc)才能正常工作的方式。因此,如果您尝试执行UseMvc而不添加相应的MVC服务,则会抛出调用。请注意,这会将相应的MVC服务添加到DI容器中。

    希望这回答了您的问题,有关详细信息,您可以查看http://www.asp.net/vnext以获取更多一般信息。对于更具体/视频的内容,我在Orchard会议上做了一段时间的讨论,我在其中讨论了几个核心部分https://www.youtube.com/watch?v=kqgIByKn9Wk

    注意:我在一段时间后发表了演讲,一些概念已经过时/可能已经改变,但核心概念是相同的。