拥有多个WCF项目vs 1个具有多个服务的WCF项目
我目前正在研究一个包含4个不同组件的WCF项目。没有任何组件是相互关联的。拥有多个WCF项目vs 1个具有多个服务的WCF项目
目前我已经做了一个项目,包括四项服务。我意识到如果其中一个组件发生变化,我们将不得不测试整个项目以确保安全。
鉴于如果我制作4个不同的项目,它们彼此不相关或彼此交谈,这将使测试和集成变得更容易。而如果我们改变一个项目,其他项目不会受到影响或下降。
我需要一些有利有弊的反馈。
同样,组件之间不会互相通话或互相呼叫。
明确不同的组件。它会减少松耦合。
如果他们共享一些共同的基础设施(错误处理,日志记录,行为...),则使用第四个公共组件。
它不会影响您部署服务的方式。如果他们的目的是在IIS中的同一个Web应用程序中生存,那么他们只需要3个程序集。 servicemodel配置不会改变。如果他们将生活在不同的应用程序中,那么它更好
如果你认为3服务仍然是可持续的,想想10 ...如你所说,其中一个小小的变化是所有人的一个ne版本
他们aretalking(或没有)的事实一起犯规的影响,因为它们是服务,而不是组件
,另一方面,有很多服务的问题时,解决办法之一是建立一个服务总线,和那么,你的服务只是普通的班级,不管他们是否在同一个集合中(甚至可能更容易相同)
但在您的情况下,明确不同的程序集
我的老板想让我做一项服务,现在有4个组件。因为他说他不想向客户公开四种不同的Web服务接口。只想使用一个服务并列出该服务包含的所有方法。所以,一个svc文件和类实现了4个接口,并在一个服务中列出了所有的方法。但是,在这种情况下,负载均衡和实例化工作将如何呢? – user724535 2012-01-19 04:46:32
每个服务都应该建立到它自己的程序集,并且在部署时应该运行在它自己的应用程序池中。之后,这些项目是否属于同一解决方案并不重要。
您能澄清吗?你的意思是说你有一个.sln内有多个WCF应用程序,或者一个.sln有一个定义多个服务的单个WCF应用程序? – 2012-01-13 16:20:56
我目前在.config文件中有3个svc文件和3个服务列表。 – user724535 2012-01-13 16:23:13