是否混合asp.net mvc应用程序和Web API

本文关键字:Web API 应用程序 mvc 混合 asp net 是否 | 更新日期: 2023-09-27 17:51:05

我有一个MVC应用程序。我已经构建了两个层BLLDAL,它已经准备好使用了。

我想添加一个服务层:我了解了Asp.Net Web API,我想用它来构建这个层。

在Adam Freeman (Pro Asp.net MVC4)的书中我读到了这个

你可以在一个项目中自由地混合使用常规控制器和API控制器。事实上,你通常需要这样做你想要支持HTML客户端,因为API控制器只会返回对象数据而不会呈现一个视图。

所以,我想知道在哪些情况下我必须使用以下解决方案之一:

  1. 使用Asp。. MVC应用程序一个web API(作为服务层)
  2. 将两个应用程序混合在一个web API应用程序中

是否混合asp.net mvc应用程序和Web API

是的,在同一个项目中或者在不同的项目中使用WebAPI控制器和MVC控制器是可以的,但是WebAPI是完全独立的。

WebAPI控制器不能作为应用程序的"服务层",因为它只是将部分功能作为RESTful服务公开,可以使用HTTP请求调用(例如来自客户端的AJAX调用)。

你应该在你的MVC和WebAPI控制器中使用你的服务层(业务层),并且只通过WebAPI公开你需要的数据。使用WebAPI方法代替业务层是不可能的。