Jetez un coup d'œil à la MvcServiceCollectionExtensions.cs
sur le Répertoire GitHub d'ASP.NET Core :
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.AddRazorPages();
builder.AddCacheTagHelper();
// +1 order
builder.AddDataAnnotations(); // +1 order
builder.AddCors();
return new MvcBuilder(builder.Services, builder.PartManager);
}
AddMvcCore()
y AddMvc()
retournent tous deux un IMvcBuilder
qui peuvent être utilisés pour configurer davantage les services MVC.
AddMvcCore()
comme son nom l'indique, n'ajoute que les composants de base du pipeline MVC, ce qui vous oblige à ajouter tout autre intergiciel (nécessaire à votre projet) par vous-même.
AddMvc()
appels internes AddMvcCore()
et ajoute d'autres intergiciels tels que le moteur de vue Razor, les pages Razor, CORS, etc.
Pour l'instant, je suivrais ce que ton tutoriel suggère et m'en tiendrais à AddMvc()
.
À partir d'ASP.NET Core 3.0, il existe des méthodes supplémentaires qui permettent de contrôler finement les parties du pipeline MVC qui sont disponibles pour votre application, par exemple :
Se référer à cet article et MSDN pour plus d'informations sur ce qu'ils font et quand les utiliser.
9 votes
@mason : Je préfère demander à l'expert car c'est plus fiable que de faire des essais et erreurs sur une boîte noire.
1 votes
@SingleFighter Considérant que je viens de poster une réponse incluant le fonctionnement interne de
AddMvc()
il ne s'agit pas vraiment d'une boîte noire ;)14 votes
@mas, c'était une bonne question qui valait la peine d'être posée... programmer, c'est demander autant qu'expérimenter lol