在Silverlight应用程序中WCF/WebSeries应该驻留在哪里?
我正在寻找在哪里为Silverlight应用程序托管关联的Webservices/WCF服务的最佳实践 我经常看到的一种方法是将这些服务托管在用于托管silverlight应用程序的同一个web应用程序项目中。这似乎很方便,因为它将两部分结合在一起 但是,对于DRY,这些服务是否应该在外部托管,以便其他应用程序可以使用它们?它们应该在一个集合中吗在Silverlight应用程序中WCF/WebSeries应该驻留在哪里?,wcf,silverlight,web-services,architecture,Wcf,Silverlight,Web Services,Architecture,我正在寻找在哪里为Silverlight应用程序托管关联的Webservices/WCF服务的最佳实践 我经常看到的一种方法是将这些服务托管在用于托管silverlight应用程序的同一个web应用程序项目中。这似乎很方便,因为它将两部分结合在一起 但是,对于DRY,这些服务是否应该在外部托管,以便其他应用程序可以使用它们?它们应该在一个集合中吗 我主要关心的是我是否有多个项目在进行中,由内部和外部承包商完成。在这种情况下,同步发布似乎很困难。我建议单独托管WCF服务。您只需要为您的服务启用跨域
我主要关心的是我是否有多个项目在进行中,由内部和外部承包商完成。在这种情况下,同步发布似乎很困难。我建议单独托管WCF服务。您只需要为您的服务启用跨域访问,就可以允许silverlight应用程序访问它
这也将允许您为这两个团队拥有两个独立的发布周期,如果您有两个独立的团队同时工作,这将有助于更好的可维护性。听起来您需要他们之间的某种接口。如果您使用依赖注入,您将拥有一个可靠的接口,SilverLight可以与NIST协同工作,并且您可以随时更换服务提供商;这对隔离变化也有很大帮助。我关心的是有两个silverlight项目,但只有一个wcf项目。我不确定我将如何迁移和合并更改。我没有得到您的支持。你是担心不同团队之间的源代码控制还是Adrian在下面提到的?是的,没错。我想我问题的第二部分是,如果WCF服务单独托管,我应该有一个还是多个项目。我可能一次开发多达10个项目,因此迁移可能很困难,如果在一个项目中,一些不完整的代码可能会发布。如果它们在逻辑上绑定在一起,请将它们放在一起。如果它们在逻辑上是可分类的,那么将其分解为许多服务是有意义的。