C# 我应该使用AddMvc还是AddMvcCore进行ASP.NET核心MVC开发?
我正在从一本书中学习ASP.NET Core MVC,所涉及的代码片段如下:C# 我应该使用AddMvc还是AddMvcCore进行ASP.NET核心MVC开发?,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,我正在从一本书中学习ASP.NET Core MVC,所涉及的代码片段如下: // CHAPTER 4 - ESSENTIAL C# FEATURES namespace LanguageFeatures { public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMvc(); }
// CHAPTER 4 - ESSENTIAL C# FEATURES
namespace LanguageFeatures {
public class Startup {
public void ConfigureServices(IServiceCollection services) {
services.AddMvc();
}
// etc.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore(); // as opposed to:
//services.AddMvc();
}
因为这本书是关于ASP.NET核心MVC而不是ASP.NET MVC的,所以我认为我必须使用AddMvcCore()
而不是AddMvc()
,如下所示:
// CHAPTER 4 - ESSENTIAL C# FEATURES
namespace LanguageFeatures {
public class Startup {
public void ConfigureServices(IServiceCollection services) {
services.AddMvc();
}
// etc.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore(); // as opposed to:
//services.AddMvc();
}
我在这里所做的是正确的吗?看看下面的课程:
AddMvcCore()
和AddMvc()
都返回一个IMvcBuilder
,可用于进一步配置MVC服务
AddMvcCore()
,顾名思义,只添加MVC管道的核心组件,需要您自己添加任何其他中间件(项目所需)
AddMvc()
内部调用AddMvcCore()
并添加其他中间件,如Razor视图引擎、JSON格式化程序、CORS等
现在,我将按照您的教程建议,坚持使用AddMvc()
从ASP.NET Core 3.0开始,还有其他一些方法可以对MVC管道的哪些部分可供应用程序使用进行细粒度控制:
请参阅和MSDN以了解有关它们的用途和使用时间的更多信息。@mason:我更喜欢询问专家,因为这比在黑盒子上进行反复试验更可靠。@SingleFighter考虑到我刚刚发布了一个答案,包括
AddMvc()
的内部工作原理,这不是一个真正的黑盒子;)@mas,这是一个好问题,值得一问……编程就是要求和实验lol一样多