65 votes

Dois-je utiliser AddMvc ou AddMvcCore pour ASP.NET Base de développement MVC?

Je suis en apprentissage ASP.NET Core, MVC, à partir d'un livre, l'extrait de code en question est comme suit:

// CHAPTER 4 - ESSENTIAL C# FEATURES
namespace LanguageFeatures {

    public class Startup {

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

        // etc.

Parce que le livre est sur ASP.NET Core, MVC, plutôt que de ASP.NET MVC, je pense que je dois utiliser AddMvcCore() plutôt que d' AddMvc() comme suit:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore(); // as opposed to:
    //services.AddMvc();
}

Est ce que je fais ici, correct?

82voto

trashr0x Points 4061

Jetez un oeil à l' MvcServiceCollectionExtensions.cs classe sur le ASP.NET Core, MVC dépôt GitHub:

public static IMvcBuilder AddMvc(this IServiceCollection services)
{
    if (services == null)
    {
        throw new ArgumentNullException(nameof(services));
    }

    var builder = services.AddMvcCore();

    builder.AddApiExplorer();
    builder.AddAuthorization();

    AddDefaultFrameworkParts(builder.PartManager);

    // Order added affects options setup order

    // Default framework order
    builder.AddFormatterMappings();
    builder.AddViews();
    builder.AddRazorViewEngine();
    builder.AddCacheTagHelper();

    // +1 order
    builder.AddDataAnnotations(); // +1 order

    // +10 order
    builder.AddJsonFormatters();

    builder.AddCors();

    return new MvcBuilder(builder.Services, builder.PartManager);
}

AddMvcCore() et AddMvc() à la fois le retour d'un IMvcBuilder qui peut être utilisé pour configurer le MVC services.

AddMvcCore(), comme son nom l'indique, ajoute composants de base, vous obligeant à ajouter tous les autres middleware (nécessaire pour votre projet, par vous-même.

AddMvc() appelle en interne AddMvcCore() et ajoute d'autres middleware tels que le moteur de vue Razor, JSON formateurs, de la SCRO, etc.

Pour l'instant, je voudrais suivre votre tutoriel suggère et respectez - AddMvc().

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X