Asp.net Core中的Web应用程序与Web Api项目类型

pej*_*man 7 asp.net-core

我知道Asp.Net MVC并且Asp.Net Web API被合并到一个代码中Asp.net Core并且它们从Controller基类继承并且都可以返回实现IActionResult.对于web api来说,它是MVC或Json的视图.

但是当我想创建一个Asp.net Core项目时,它提供了两个模板(Web Application and Web Api ),根据我上面所说的,这些控制器之间没有区别,为什么有两个模板?我有什么不同之处吗?

Cod*_*shi 7

Web应用程序模板将创建文件夹并导入Web应用程序所需的内容,例如jquery,css等.Web api模板将为web api创建文件夹和导入内容.默认情况下创建的控制器也会有不同的实现,例如,Web应用程序将返回视图,并且视图将在相应的文件夹中创建.

因此,尽管它们来自相同的控制器,但每种类型的项目都需要不同的依赖关系.

如果我是你,我会继续为每种类型创建一个并看到差异.

如果要在同一项目中同时具有Web api和Web应用程序,请使用区域.这样,您的web和api将具有单独的控制器,文件夹和模型.此外,如果您希望将来将它们分开,那么这样做很容易.


San*_*ket 5

两个模板之间的区别是 -

的WebAPI模板和Controller类,可以让你在/ api来RESTful请求响应启动/价值观端点.

Web应用程序模板会给你一些剃刀意见MVC框架启用的项目,安装了引导CSS框架和jQuery库.

如果你想用MVC和API控制器创建项目,那么我建议使用ASP.NET Core Web Application模板并添加require依赖项.