2010-07-05 41 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

相關問題