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

时间:2015-05-28 09:15:59

标签: c# asp.net-mvc web-services api asp.net-mvc-4

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

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

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

  

您可以在项目中自由混合常规控制器和API控制器。事实上,你通常需要if   您希望支持HTML客户端,因为API控制器只返回对象数据而不会呈现   一个观点。

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

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

1 个答案:

答案 0 :(得分:5)

是的,可以在同一个项目中或在单独的项目中使用WebAPI控制器和MVC控制器,但WebAPI可以完全独立地执行任务。

WebAPI控制器不能像您的应用程序那样充当“服务层”,因为它只是将部分功能公开为可以使用HTTP请求调用的RESTful服务(例如来自客户端的AJAX调用)。 p>

您应该在两者 MVC和WebAPI控制器中使用服务层(业务层),并且只显示通过WebAPI所需的数据。无法使用WebAPI方法代替业务层。