1

我正在制作一个 MVC 网站。这是我之前计划做的事情:

Data Access Layer
     ^
     |
Business Layer
     ^
     |
Web API 2    <-- Apps or whatever
     ^
     |
MVC5 Website

但我认为下面会更好,因为在我的情况下,由于网站和 WebAPI 将位于同一台服务器上,我认为网站解析 API 的 JSON 响应是没有意义的。

Data Access Layer
     ^
     |
Business Layer   <--   Web API    <-- Apps or whatever
     ^
     |
MVC5 Website

我对 Web API 完全陌生(以前从未做过 WebAPI 或 WCF),我真的不知道该采取什么方法。

所以这是我的问题
1. 我需要一个图表(就像我制作的图表一样),代表一个更好的解决方案和解释2.你会推荐的 Visual Studio 2013
解决方案 的项目结构

请注意,我计划使用 VS2013 的新 ASP.NET App 项目模板 - 而不是 VS2012 类型的 Web 模板。记住这一点来回答。

一个更好和描述性的答案是最受欢迎的

4

2 回答 2

2

对我来说,这取决于您的应用范围。我已经看到一个更大的公司系统同时使用 MVC 实例和 WebAPI,而 WebAPI 专门用于 CRUD 操作,该操作作为 ajax 调用从 MVC 以 Model-View-ViewModel 模式返回的 UI(视图)发送。

WebAPI 也被其他 Intranet 系统使用。

所以它看起来像这样:

MVC  OTHER INTRANET
 |     |
 / \   /
|   \ /
|  WebAPI
|    |
 \  /
  \/
Business
 Layer
   |
   |
Data Access
   |
   DB

这家公司也有一个单独的 WebAPI 附加到 DAL,用作本土跨公司工作流系统。由于公司内的每个组织单位都定义了相同的数据(域)模型,因此他们将物理移动(也称为从 groupA.db.active 选择/删除,插入到 groupB.db.active,插入到 groupA.db.INactive 并带有更新了步骤 ID。它工作得很好,但我怀疑它是性能最好的系统。

希望这可以帮助。

于 2014-01-13T21:32:53.403 回答
1

恕我直言,肯定会做第二个,而不是第一个。让 MVC 网站调用您自己的 Web API 没有任何价值。

于 2013-11-23T16:05:03.097 回答