1

我正在设计我的项目的架构,它会有

  1. Web 应用程序(客户端)
  2. Windows 应用程序(客户端)
  3. 移动应用程序(客户端)

  4. 服务层(将使用 Web Api 完成)

  5. 业务逻辑层
  6. 数据访问层
  7. 数据对象层

我的问题是我是否需要为 Web 应用程序和服务层(Web Api)创建两个不同的 MVC 项目。因为他们都将被托管。我已经看到 WebApi 模板也支持 ActionMethods(当类被 Controller 类继承时)。Web Api 模板也可以用作 WebApp 和服务层。

遵循的最佳实践是什么。

我知道这些地点有类似的问题

MVC4 WebAPI 的正确架构是什么

使用具有 3 层架构的 ASP.NET WebApi

但我想具体说明我的要求。

提前致谢。

4

2 回答 2

1

定义架构需要确定每个组件的责任。ASP.NET Web API 通常必须是一个涉及以纯 HTTP 语义表示状态的轻量层——有点类似于 SOAP 在传统 Web 服务中所做的。

因此,在 ASP.NET Web API 应用程序中,您的业务逻辑应该非常少。所以我不会简单地增加额外物理层的开销,包括网络延迟、序列化和反序列化等。

这是我的首选方法:

在此处输入图像描述

于 2013-08-28T09:14:58.093 回答
0

我能看到的唯一实际区别是,如果您将它们放在同一个项目中,您的 API 会突然与您的 Web 应用程序紧密耦合,并且没有它就无法生存,这是不必要的。

在同一解决方案中创建单独的项目并将它们作为两个单独的站点托管。

于 2013-08-28T08:28:59.993 回答