我正在设计我的项目的架构,它将具有
移动应用程序(客户端)
服务层(将使用Web Api完成)
我的问题是我需要为Web应用程序和服务层(Web Api)创建两个不同的MVC项目。因为他们都将被托管。我已经看到WebApi模板也支持ActionMethods(当类被Controller类继承时)。因此,Web Api模板可以用作WebApp以及服务层。
遵循的最佳做法是什么。
我知道这些地方有类似的问题
What is the correct architecture for MVC4 WebAPI
Using ASP.NET WebApi with a 3 Tier Architecture
但我想要具体说明我的要求。
提前致谢。
答案 0 :(得分:1)
定义架构需要确定每个组件的责任。 ASP.NET Web API通常必须是一个关注纯HTTP语义中状态表示的轻薄层 - 有点像SOAP在传统Web服务中所做的那样。
因此,在ASP.NET Web API应用程序中,您应该拥有非常少的业务逻辑。所以我不会简单地增加额外的物理层的开销,其中包括网络延迟,序列化和反序列化等。
这是我的首选方法:
答案 1 :(得分:0)
我能看到的唯一实际区别是,如果你将它们放在同一个项目中,那么你的API会突然与你的网络应用程序紧密耦合,并且永远不会没有它,这是不必要的。
在同一解决方案中创建单独的项目,并将它们作为两个独立的站点托管。