用于从asp.net Web API获取数据的asp.net MVC设计模式

时间:2014-02-06 21:10:17

标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api

我正在开发一个既有网络又有移动界面的应用程序。这就是我想使用Web API的原因。我对Web API部分没有任何问题,但我不知道如何处理MVC应用程序。

据我所知,我的数据访问层和实体框架将在Web API中,但我仍然需要在MVC中创建我的Model类,用于数据格式化等...,数据验证将在Web中进行API,我将从我在MVC中的视图中使用对Web API的Ajax调用来访问数据。现在,问题是,Controller在MVC中的作用是什么呢?

有人能告诉我应该使用哪种设计模式来开发一个使用asp.net Web API应用程序数据的asp.net MVC应用程序吗?

1 个答案:

答案 0 :(得分:4)

如果您想利用 ASP.NET MVC 框架,您可以将业务逻辑和数据访问集中在Web API和MVC应用程序将使用的服务类中。当我拥有这两个应用程序时,我通常会避免calling Web API from MVC

另一方面,如果您想通过ajax请求使用API​​,则应使用客户端JavaScript框架,例如 AngularJS 。在这种情况下,您几乎不使用MVC框架。您的MVC应用程序将提供初始视图,执行登录/注销以及可选地捆绑和缩小js和css文件。

当然,您可以选择之间的战略。例如,您可能不想深入了解单页Web应用程序的复杂性,而是使用jQuery来代替Ajax请求。在这种情况下,您可能需要使用MVC应用程序作为服务或Web API的代理,以避免跨域问题。

简而言之,没有单一的最佳设计模式。以下是一些可能影响您设计的因素:预算,复杂性,用户体验,响应能力,浏览器​​和目标用户。例如,对于使用IE6的2-3个用户来说,没有必要使用尖端的客户端技术来填充无限的数据形式。

相关问题