- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在看书学习ASP.NET Core MVC,问题代码片段如下:
// CHAPTER 4 - ESSENTIAL C# FEATURES
namespace LanguageFeatures {
public class Startup {
public void ConfigureServices(IServiceCollection services) {
services.AddMvc();
}
// etc.
因为这本书是关于 ASP.NET Core MVC 而不是 ASP.NET MVC,我想我必须使用 AddMvcCore()
而不是 AddMvc()
如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore(); // as opposed to:
//services.AddMvc();
}
我在这里做的对吗?
最佳答案
看看 MvcServiceCollectionExtensions.cs
在 ASP.NET Core GitHub repo 上上课:
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()
和 AddMvc()
均返回可用于进一步配置 MVC 服务的 IMvcBuilder
。
AddMvcCore()
,顾名思义,只添加 MVC 管道的核心组件,需要您自己添加任何其他中间件(您的项目需要)。
AddMvc()
在内部调用 AddMvcCore()
并添加其他中间件,例如 Razor View 引擎、Razor 页面、CORS 等。
现在,我会按照您的教程建议并坚持使用 AddMvc()
。
从 ASP.NET Core 3.0 开始,还有其他方法可以细粒度地控制 MVC 管道的哪些部分可用于您的应用程序,例如:
引用this article和 MSDN,了解有关它们的作用以及何时使用它们的更多信息。
关于c# - 我应该使用 AddMvc 还是 AddMvcCore 进行 ASP.NET Core MVC 开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40097229/
当我尝试在 visual studio 2015 中构建项目时,我在 ConfigureServices 方法中遇到了问题。 最佳答案 检查您尝试使用的 asp.net-mvc 版本。看起来您正在混合
我试图找出为什么在所有文档中我看到 services.AddMvc或 services.AddMvcCore在 Startup.cs 但是在由 VS 创建的 ASP.NET Core MVC 3.1
为了能够在我的 ASP.NET Core 应用程序中添加 Controller ,我可以添加 services.AddControllersWithViews() 要么 services.AddMvc
自 2018 年 5 月 30 日起,我在 Startup.cs 中的 ASP.NET Core 代码 public IServiceProvider ConfigureServices(IServi
我正在学习 ASP.NET Core,我看到注册 MVC 服务如下所示: public void ConfigureServices(IServiceCollection services) {
当我使用 Swagger 为我的 API 提供动力时,我遵循了 those guids 之一而且我总是像这样将 MVC 注入(inject)放在 Swagger 注入(inject)之前。 servi
我正在将 ASP.NET Core 2.2 Web 应用程序迁移到 3.0,并且有关于 .AddMvc() 的澄清问题。如果这很重要,我的应用程序使用 Razor 页面和 View 。 所以目前,我在
我使用以下命令创建了 .net core 2.0 mvc 应用程序:“dotnet new mvc”,它运行没有任何问题,但在 vscode 中我有两个错误: 'IServiceCollection'
我创建了一个全新的 asp.net 核心应用程序。我已经添加了 mvc Nuget 包,但出现以下错误。 微软.AspNetCore.Mvc.Core 1.1.3 'IServiceCollectio
我正在为 Asp.Net Core 创建一个 Nuget 包。我想让配置变得简单。因此,我决定提供一种流畅的方法,将我的 Nuget 添加到 Asp.Net Core 中 ConfigureServi
我正在学习本教程:http://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6设置一个 web api,但我还没
我正在看书学习ASP.NET Core MVC,问题代码片段如下: // CHAPTER 4 - ESSENTIAL C# FEATURES namespace LanguageFeatures {
当使用 .NET core Web API 的脚手架时,它包括: services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Vers
我不太喜欢使用预捆绑的 AddMvc(),而是更喜欢使用 AddMvcCore()。 话虽如此,我想知道如何将新的(从 2.0 开始)AddRazorPages() 与 AddMvcCore() 一起
为什么在 mvc6 应用程序的 Configuration 方法中只添加 app.UseMvc() 是不够的?为什么还需要在 ConfigureServices 方法中添加 services.AddM
我是一名优秀的程序员,十分优秀!