2009-05-18 115 views

回答

13

基本上,.NET RIA Services是一個隱藏網絡管道邏輯的框架,用於處理RPC線路並橋接客戶端和服務器之間的代碼。

您可以將其視爲RAD for Client/Server開發。

From Dinesh's Blog:
1.簡化n層開發(和 真的告訴你一個更好的方式來獲得 多層故事爲你ORM 對象 - 的LINQ to SQL或EF或 其他)
2.支持豐富的互聯網應用Silverlight的 (RIA)開發 - 有很大的端至端故事 驗證,身份驗證,易 綁定等
3.擴展你的ASP.NET開發 經驗。這是基於你已經知道和使用的 。有 即使是一個ASP.NET DomainDataSource和 模板的搜索引擎優化那裏(和 希望一些AJAX的東西很快 - 手指交叉)。

要回答你的一些關於未來Brad Abrams says其他問題:

ASP.NET訪問 - 通過以下的RIA服務模式,你也可以輕鬆構建ASP.NET應用程序同時利用一切內置RIA服務的功能,如數據驗證,授權等。在3月份的預覽中,我們提供了一個asp:DomainDataSource控件,可以非常輕鬆地通過ASP.NET WebForms訪問您的域邏輯。在此基礎上構建ASP.NET動態數據的未來版本,可以非常容易地根據您的域邏輯生成通用的標準用戶界面。

回到Redmond,我們正在努力通過ASP.NET MVC提供對您的域邏輯的非常乾淨的訪問。這裏的模式非常酷,我等不及要在未來的CTP中談論它。

如果用各種我們的目標與.NET RIA服務演示選項...結合數據來源的真實性

2

我討厭只是轉發給你一個網站,但this鏈接有一個很好的解釋。

Microsoft .NET RIA Services通過將ASP.NET和Silverlight平臺結合在一起簡化了傳統的n層應用程序模式。 RIA Services提供了一種模式,用於編寫在中間層上運行的應用程序邏輯,並控制對數據的查詢,更改和自定義操作的訪問。它還通過與客戶端上的Silverlight組件和中間層上的ASP.NET進行集成,爲數據驗證,身份驗證和角色等常見任務提供端到端支持。

從我的理解,這是從代碼管道和您的業務邏輯的抽象。例如,您可以使用LINQ使用自然查詢語法跨這些服務進行查詢,而不是直接處理控制器中的服務協議。

+3

那報價一再重複時,博客作者描述RIA服務,它似乎幾乎完全空洞。我正在尋找一個實際的解釋(你的額外評論是一個很好的例子) – brian 2009-05-18 21:11:03

1

我根據一些播客我聽過猜測:

這其中確實是這樣的一個庫:

  • 提供某種方式(.NET屬性,我認爲這是)在您的服務器端數據模型指定數據驗證
  • 不知怎的,這個數據發送到客戶端(也許一些自定義的WSDL十歲上下式的東西?)
  • 在客戶端,生成執行相同的驗證一些代理代碼如服務器上指定的那樣。

如果我記得沒錯,他們只支持生成.NET代碼,所以silverlight(也可能是WPF/XBAP)應用程序就是這樣。他們提到生成JavaScript作爲未來(可能)的東西。

這個想法似乎是,你可以超越簡單的驗證和執行「業務規則」等等,但我不太清楚這將如何工作。

0

從我能從所有的博客,介紹和官方市場語句的理解:

在應用程序邏輯,持久性邏輯和消費者(例如服務和/或UI客戶端)邏輯之間清楚描述的模式。這鼓勵應用程序邏輯的重複使用以及持久性和消費者邏輯的可互換性。

是的,從我讀過的,非Silverlight客戶端將被支持。

1

有人說這是對Silverlight和WCF什麼DCOM是爲VB6;很容易連接客戶端和服務器而不真正理解其含義。

1

簡潔的,因爲我可以把它...

使Silverlight的前端服務器和後端使用相同的模型類儘可能透明。通過使模型類可用於前端,爲您提供集成的模型驗證和操作。

心理模型:RIA作爲一個應用程序而不是兩個。