我知道Asp.Net MVC和Asp.Net Web API被合并到
Asp.net Core中的一个
代码中,并且它们继承自Controller基类,并且都可以返回IActionResult的实现.对于web api来说,它是MVC或Json的视图.
但是当我想创建一个Asp.net Core项目时,它提供了两个模板(Web Application和Web Api),根据我上面所说的,这些控制器之间没有区别,为什么有两个模板?我有什么不同之处吗?
Web应用程序模板将创建
文件夹并导入Web应用程序所需的
内容,例如jquery,css等.Web api模板将为web api创建
文件夹和导入
内容.默认情况下创建的控制器也会有不同的实现,例如,Web应用程序将返回视图,并且视图将在相应的
文件夹中创建.
因此,尽管它们来自相同的控制器,但每种类型的项目都需要不同的依赖关系.
如果我是你,我会继续为每种类型创建一个并看到差异.
如果您想在同一个项目中同时使用web api和Web应用程序,请使用areas.这样您的web和api将具有单独的控制器,文件夹和模型.此外,如果您希望将来将它们分开,那么这样做很容易.