WebUI应该只是我服务的客户吗?

时间:2011-06-26 20:22:09

标签: asp.net wcf architecture

我们的产品有两个界面:Web界面(ASP.NET)和服务界面(WCF)。

将它们连接到业务逻辑的正确方法是什么? WebUI应该只是WCF服务的客户端(见下图)吗?

一个。 WebUI和WCF分开:

User1 -> ASP.NET -/-> Business Layer
User2 -> WCF ----/

湾WebUI只是服务的客户端

User1 -> ASP.NET -/-> WCF -> Business Layer
User2 -----------/

3 个答案:

答案 0 :(得分:1)

如果您的服务完全暴露了Web应用程序需要执行的所有操作,那么为什么不使用它呢? ......如果要将此服务提供给客户或类似服务,那么自己使用它是测试/确保它能满足您所需要的一切的好方法。

答案 1 :(得分:0)

我会将业务逻辑封装在两个服务都将使用的通用DLL中。

在服务(IIS / WCF)中只处理通信/协议/序列化等....

这种方式更容易实现,性能更好。

答案 2 :(得分:0)

这还取决于您客户的架构。如果您使用的是MVC,则可能需要创建大量的ViewModel。如果您的WCF服务是粒度的,那么使服务返回强类型DTO对象可能是有意义的。如果您与客户共享包含服务合同的DLL,您将能够将服务响应中包含的DTO用作ViewModel。通过以这种方式将它们分离,您可以获得扩展UI应用程序和业务逻辑中间件的优势。