2010-07-05 42 views
1

我正在寻找有关为Silverlight应用程序托管相关Webservices/WCF服务的最佳实践。WCF/WebSerices应该放在Silverlight应用程序的哪个位置?

我经常看到的一种方法是将这些服务托管在用于托管Silverlight应用程序的相同Web应用程序项目中。这看起来很方便,因为它将两个部分组合在一起。

但是,DRY不应该在外部托管这些服务,以便可能其他应用程序可以使用它们?他们是否应该在一个大会?

我主要关心的是,如果我有多个项目在旅途中,由内部和外部承包商完成。在这种情况下同步发布似乎很困难。

回答

2

我会建议分别托管WCF服务。您只需为您的服务启用跨域访问权限即可让Silverlight应用程序访问它。

这也可以让你有两个单独的发布周期为他们两个,如果你有两个独立的团队同时工作,它使更好的可维护性。

+0

我的担忧是有2个silverlight项目,但只有1个wcf项目。我不确定我将如何迁移和合并更改。 – itchi 2010-07-05 16:13:18

+0

我没有得到你。您是否担心不同团队之间的源代码控制或Adrian下面提到的问题? – 2010-07-06 07:26:30

+0

是的,确切地说。我想我的问题的第二部分是,如果WCF服务单独托管,我应该有1个项目或许多。我一次最多可能开发10个项目,因此迁移可能会很困难,而且一些未完成的代码可能会在1个项目中发布。 – itchi 2010-07-06 15:21:22

0

听起来像你想要它们之间的某种接口。如果你使用依赖注入,你会拥有一个稳定的接口,SilverLight可以工作,并且你可以随时换出服务提供者;它也会隔离变革很长的路要走。

+0

如果它们在逻辑上绑定在一起,请将它们放在一起。如果它们在逻辑上是可分类的,则将它分解成许多服务是有意义的。 – 2010-07-06 07:27:40

相关问题