2011-08-11 40 views
1

我們正在構建一個新的系統,它將擁有多個前端,其中(至少)其中一個會使用Silverlight。RIA Services DomainService類是什麼層

我們決定使用RIA Services作爲Silverlight的服務門面。

問題是,我們是否應該在RIA Services domainService類的「後面」維護另一個服務層,還是應該將它用作我們的主要服務層?

考慮到我們的其他前端沒有在Silverlight中開發,並且需要消耗(大部分)相同的服務。

回答

0

我會推薦使用域服務作爲服務層。由於您可以添加OData端點,因此它們公開的數據可以被任何客戶端使用。

您還可以決定公開哪些實體,甚至可以定義具有比數據層中的屬性更少或不同的屬性的新實體。

這是我們在其中一個項目(中型)中遵循的方法,它非常好。

+0

但是如果我需要添加domainservice不支持的端點類型的附加類型呢? domainservices被迫繼承一個特定類型的對象,並以某種方式暴露這兩件事情,這讓我感到非常不舒服,因爲我的服務層的屬性。 你覺得呢? – sternr

+0

您的域名服務將託管在標準的Web項目中。如果您需要添加不支持的端點類型,您可以隨時在該項目中創建新的圖層,作爲您的域服務的橋樑。 – alf

+1

完全披露,我在RIA團隊工作,但阿方索的建議是一個很好的開始。您可以根據需要添加額外的服務,但似乎矯枉過正,此外,RIA公開了SOAP和JSON端點(http://blogs.msdn.com/b/deepm/archive/2010/05/14/silverlight-tv-episode-26-exposing-soap-json-and-odata-endpoints -from-RIA-services.aspx)。此外,RIA團隊正在開發一個JavaScript客戶端,該客戶端應該對其他基於Web的客戶端有用(http://jeffhandley.com/archive/2011/04/13/RIAJS-jQuery-client-for-WCF- RIA-Services.aspx)。 –

相關問題