api - .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 服务
这些项目在创建时是否相同或存在差异?
如果没有差异,那么为什么要分开?...只是创建了不同的脚手架类?
解决方案
在.NET Framework中,Web API 框架与 MVC 框架完全分离。一个项目不能两者兼得。
在.NET Core中,没有区别(*)它们都使用 MVC 中间件。一个项目可以两者兼得。
我想他们在 Visual Studio 中保留了两个项目模板,因为 .NET 编码人员已经习惯了。但它只会更改Startup.cs
. 您永远不会因为最初的选择而陷入困境。
(*) 唯一的区别确实是一种或另一种编码的传统方式。例如,在“传统”应用程序中,控制器返回带有 HTML 的视图,并且路由都定义在Startup.cs
. 在“API”应用程序中,控制器将默认以 JSON(或 XML)返回视图,并且路由是基于属性的。
推荐阅读
- java - Tomcat 在 Java 7 级别编译 JSP。我可以在 WAR 文件中而不是在 Tomcat 配置中更改此设置吗?
- c# - .NET/C# 到在 linux 上运行的 MySql - 第一个命令出现异常,但后续命令确实有效
- windows - 使用 FINDSTR 查找以 'abc...' 而不是 '-abc...' 开头的文件名
- java - Solr 8.3.1:无法找到或加载 org.apache.solr.util.SolrCLI
- javascript - 来自 Google Cloud Monitoring API 的打印机器类型
- android - EditText 不会在某些手机上立即显示文本
- html - CSS 打印多个 A4 页面会导致额外的空白页
- ios - Xcode 11.3 在 macOS Catalina 10.15 中启动时崩溃
- swift - UndoManager:要执行 2 次重做以恢复 1 次撤消
- database - 注册用户时的非静态方法错误