拥有多个WCF项目与具有多个服务的1个WCF项目

时间:2012-01-13 16:16:24

标签: c# wcf web-services

我目前正在开发一个包含4个不同组件的WCF项目。没有任何组件是相互关联的。

目前我已经制作了一个项目并包含了四项服务。我意识到,如果其中一个组件发生变化,我们就必须测试整个项目是否安全。

然而,如果我制作4个不同的项目,它们彼此无关或彼此交谈,那将使测试和集成变得更加容易。如果我们要改变一个项目,其他项目不会受到影响或下降。

我需要一些有利有弊的反馈。

同样,组件不会相互通信或相互进行任何调用。

2 个答案:

答案 0 :(得分:3)

绝对不同的组件。它会减少松耦合。

如果他们共享一些共同的基础设施(错误处理,记录,行为......),请使用第4个通信程序集。

它不会影响您部署服务的方式。如果它们要存放在IIS中的同一个Web应用程序中,那么它们只是bin中的3个程序集。 servicemodel配置不会改变。如果他们将生活在不同的应用程序中,那么它会更好

如果您认为3种服务仍然是可持续的,请考虑10 ...正如您所说,其中一种服务的一个小变化是所有这些服务的新版本

他们一起跟踪(或不跟踪)的事实不会产生影响,因为它们是服务,而不是组件

另一方面,当处理大量服务时,其中一个解决方案是构建一个服务总线,然后,您的服务只是常规类,并且它们在同一个程序集中是不是很重要(甚至可能更容易相同)

但在你的场景中,肯定是不同的程序集

答案 1 :(得分:0)

每个服务都应该构建自己的程序集,并且在部署时应该在它自己的应用程序池中运行。之后,项目是否都属于同一解决方案并不重要。