2011-03-26 54 views
0

爲什麼人們稱RIA服務爲黑魔法?他們提到什麼樣的黑魔法?另外,我看到大多數人不使用RIA,即使他們在Silverlight世界。爲什麼這樣?即使在計算器上,詢問以及回答RIA服務問題的人的百分比也非常低。爲什麼這樣?爲什麼RIA服務被稱爲黑魔法?

+1

因爲他們不理解它;)「任何足夠先進的技術都難以區分魔術」 - 克拉克的第三定律 – ChrisF 2011-03-26 19:10:24

回答

2

WCF RIA Services提供了以下好處:

  • 使支持IQueryable的和IEnumerable一個WCF RIA服務; WCF RIA Services創建客戶端代理,該代理允許您僅通過客戶端的線路發送表達式樹,以便僅取回所需的數據。例如:您可以在您的ria服務中調用名爲GetProducts()的方法,但也可以添加一個LINQ lambda,如GetProducts(),其中(d => d.Quantity> 50),並且只有表達式通過線路發送到服務器。服務器執行過濾並僅以強類型對象返回匹配項。
  • 動態生成OData,REST/JSON和SOAP端點只需在web.Config中爲每個端點添加一行代碼即可。
  • 能夠自動流在中間層創建的業務規則爲客戶層
  • ,可以有效地從中間層流驗證用戶
  • 允許屬性,參數,方法,對象,收集和變更通過簡單的數據註釋驗證裝飾級別的業務規則

也有一些不足之處:

  • 仍然不支持WS- *(5會)爲RP ç
  • 的OData提供不可查詢
1

嗯,我還沒有聽說過的人指的是WCF RIA Services作爲黑魔法。

我相信有少數人使用它(與Silverlight中編寫東西的人數相比),因爲它比較年輕。人們可能一直在使用傳統的WCF服務開發自己的Silverlight應用程序一段時間(3.0版於2009年7月發佈)。我們都知道規則:「永遠不要改變正在運行的系統」,所以如果有人已經有一個工作的WCF Web服務了,那麼WCR RIA服務仍然是新的(2010年5月發佈了1.0版本,2010年12月的最終SP1) ,爲什麼改變它?就我而言,我們在前段時間嘗試了Silverlight和WCF,並決定等待。當RIA服務推出時,我們認爲這很好,並開始在我們的主應用程序的Silverlight版本上工作。在新項目中使用RIA服務比在現有Web服務訪問中更容易。

除此之外,應該指出的是,Silverlight不限於使用Web服務訪問數據庫的業務應用程序。因此,可能有不少Silverlight開發人員不需要任何類型的Web服務。

另一個原因可能是,對於需要數據庫的Web應用程序,其他技術如ASP.NET,ASP.NET MVC,甚至PHP或JSP(以及其他我可能從未聽說過的其他技術)而。雖然商業應用程序也應該看起來不錯,但通常不是擁有各種奇特圖形和動畫等的最高要求。

最後,爲什麼關於RIA服務在SO上問的問題很少?那麼,他們確實有他們的own forum這似乎相當活躍。 (我在尋找答案時使用它作爲資源,但不要在那裏發帖)。

1

關於你的問題的「黑魔法」部分,我相信這是正在轉向convention over configuration。與香草WCF相比,您最終只需編寫很少的代碼即可構建客戶端 - 服務器關係。此外,WCF RIA工具可以實現大量的代碼生成。

更多關於配置的約定,特別與WCF RIA和一般在Wikipedia