首页 > 解决方案 > .NET Framework 到 .Net Core 技能集转移

问题描述

设置 .NET Core Web 应用程序时,有两种选择:

API:用于创建 ASP.NET Core 应用程序的项目模板,其中包含用于 RESTful HTTP 服务的示例控制器。此模板还可用于 ASP.NET Core MVC 视图和控制器

Web 应用程序(模型-视图-控制器):用于创建带有示例 ASP.NET MVC 视图和控制器的 ASP.NET Core 应用程序的项目模板。此模板也可用于 RESTful HTTP 服务

这些项目在创建时是否相同或存在差异?

如果没有差异,那么为什么要分开?...只是创建了不同的脚手架类?

标签: apiasp.net-core.net-coreasp.net-core-mvcasp.net-core-webapi

解决方案


  • .NET Framework中,Web API 框架与 MVC 框架完全分离。一个项目不能两者兼得。

  • .NET Core中,没有区别(*)它们都使用 MVC 中间件。一个项目可以两者兼得。

我想他们在 Visual Studio 中保留了两个项目模板,因为 .NET 编码人员已经习惯了。但它只会更改Startup.cs. 您永远不会因为最初的选择而陷入困境。

(*) 唯一的区别确实是一种或另一种编码的传统方式。例如,在“传统”应用程序中,控制器返回带有 HTML 的视图,并且路由都定义在Startup.cs. 在“API”应用程序中,控制器将默认以 JSON(或 XML)返回视图,并且路由是基于属性的。


推荐阅读