And*_*lov 3 .net version-control wcf datacontract
有两个团队正在研究产品.一个团队正在研究服务器端逻辑,作为WCF服务公开,另一个团队正在致力于实现前端(ASP.NET MVC网站).在这两个团队之间共享服务API的适当解决方案是什么?通过API我的意思是一个Web服务接口+一堆DTO类.我们正在使用git和TeamCity进行持续集成.服务和前端是独立开发和部署的.
基于此,我看到的选项是:
选项3感觉就像最简单的方法,易于实现和理解,但我对获得更大的解决方案的整个想法并不感到兴奋.选项1和2感觉非常相似,但我更喜欢选项2.
您认为这里有什么更好的方法?还有其他方法吗?
我们使用选项4 - 客户端和服务器位于不同的解决方案中,但两个解决方案都包含相同的WCF合同项目(仅包含[DataContract]
和[ServiceContract]
定义),并使用项目引用而不是程序集引用引用它.这可能听起来很有趣,但它的工作正常.
两个解决方案都可以单独构建,并且它们都获得相同的DLL,因为无论它们内置了哪个顺序,第二个构建都不会重新编译DLL,因为它已经是最新的.
我认为这样做的主要优点是,当有人对合同项目进行源代码更改时,客户端和服务器代码都可以立即获得更改,而无需"刷新"任何内容.这削减了诸如"我确实做出了改变","不是你没有","我做了"," 我看不到它"等论点.