我有一个 MVC 应用程序。我已经构建了两层 BLL 和 DAL 并且可以使用了。
我想添加一个服务层:我了解了 Asp.Net Web API
,我想用它来构建这个层。
在 Adam Freeman 的书中(Pro Asp.net MVC4)我读到了这个
You can freely mix regular controllers and API controllers in a project. In fact, you will usually need to if you want to support HTML clients because API controllers will only return object data and will not render a view.
所以,我想知道在哪些情况下我必须使用此解决方案之一:
- 使用 Asp.Net MVC 应用和网络 API(作为服务层)
- 在 Web API 应用程序中混合使用这两个应用程序
最佳答案
是的,可以在同一个项目或不同的项目中使用 WebAPI Controller 和 MVC Controller ,但 WebAPI 提供完全独立的职责。
WebAPI Controller 本身不能充当应用程序的“服务层”,因为它只是将部分功能公开为 RESTful 服务,可以使用 HTTP 请求(例如来自客户端的 AJAX 调用)调用。
您应该在您的 MVC 和 WebAPI Controller 中使用您的服务层(业务层),并且仅通过 WebAPI 公开您需要的数据。无法使用 WebAPI 方法代替您的业务层。
关于c# - 是否混合使用 asp.net mvc 应用程序和 Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502219/