Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该使用AddMvc还是AddMvcCore进行ASP.NET核心MVC开发?_C#_Asp.net Core Mvc - Fatal编程技术网

C# 我应该使用AddMvc还是AddMvcCore进行ASP.NET核心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(); }

我正在从一本书中学习ASP.NET Core MVC,所涉及的代码片段如下:

// 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一样多