2009-08-29 28 views
2

香港專業教育學院讀到它,老實說這一切似乎像一堆亂碼給我。您可以向我解釋Microsoft .NET RIA服務嗎?

我不想閱讀所有關於它如何提高你的經驗,你可以用它來建這個那個。

你能給我什麼它做了明確的定義,這將是真棒。

回答

5

當我們編寫Windows應用程序一切都發生在一臺計算機上(除非你從網絡上獲取數據。你輕點鼠標,你的事件處理程序被調用,您可以更改錢包顯示的。

然後,用互聯網,你有一個無狀態的環境中(Java腳本靜置片刻)所有代碼獲取服務器上執行。使用ASP.Net靜態的HTML被生成,並推送到客戶端。作爲回報,用戶可以採取的行動,服務器將獲得另一個請求,等等

使用Silverlight一切都發生在客戶端上 - 。XAP的下載,解壓縮,運行問題,而不是什麼都可以做中Silverlight應用程序 - 它不像Windows應用程序,它可以從硬盤上打開/保存文件 - 它更像是一個Asp.Net應用程序。問題在於,服務器上的數據已結束,Silverlight應用程序位於客戶端上。因此開發人員需要編寫異步代碼(以便UI不會凍結)。這比Windows開發人員習慣的同步事件處理更復雜。此外,每次需要獲取數據時(例如驗證用戶),都會返回服務器進行檢查。所以,雖然Silverlight看起來像「瀏覽器中的WPF」,但它確實是一種非常不同的編程風格。 Web開發人員會熟悉這一點,但想要開始使用Silverlight的標準業務開發人員會發現這種開銷很大。

所以淨RIA服務試圖帶來的Windows開發的方便的Silverlight。它通過提供一個框架來實現,例如提供在clientserver之間共享.net類型的能力,clientserver可以在客戶端以有狀態的方式進行操作,並使用rest xml/json服務將數據傳回服務器。

爲用戶認證/授權/設置提供了一個示例服務。

我建議你看看this article by Nikhil Kothari也是這個(PDF)walkthrough。也看看一些​​並嘗試運行/修改它們。

+0

+1,非常好的答案。 – 2009-08-30 03:40:39

3

http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx

微軟.NET RIA服務簡化 傳統的N層應用程序 模式通過將 ASP.NET和Silverlight平臺一起。該 RIA服務提供上 運行到 數據中間層和控制訪問的查詢,修改和定製 操作 寫應用程序邏輯的模式。它還提供 常見任務 如數據驗證, 認證和通過 角色使用Silverlight客戶端 部件上和ASP.NET 在中間層集成終端到終端的支持。

所以,我會熬下來到是,在它目前的形式ASP.Net和Silverlight是獨立開發的,並沒有明確地設計爲彼此在心中這樣做ASP.Net應用程序和Silverlight應用程序的工作,相互作用需要一些管道代碼。微軟正試圖通過創建一個平臺和模式來簡化這一任務,以支持這種混合型Silverlight + ASP.Net後端應用程序開發。

+0

還是不明白這一點。好吧。 – Michael 2009-08-29 20:11:10

1

最簡單的答案是RIA Services包含了一堆,你不必寫自己的服務和Entity Framework相關的代碼。目的是讓您的Silverlight端代碼就像編寫簡單的ASP.NET或Windows/WPF應用程序一樣易於編寫和理解。

1

除了從我們的官方迴應,認爲RIA服務作爲一個簡單的更自動化的方法相結合您的服務器和客戶在一起 - 在大多數情況下,主流公司的Silverlight + ASP.NET。

現在一個簡單的方法來看待這個問題是它想要解決的基本問題,首先是「如何讓我的POCO/VO/TO等從服務器到客戶端,然後再回來,而不必寫我的自己的序列化/反序列化邏輯?「 - 答案,.NET RIA Services處理,對您通過一些基本的代碼生成的團隊已經到位,並充分利用ADO.NET數據服務的能力。

我喜歡將.NET RIA DataServices個人認爲是客戶端服務器與客戶端之間的粘合劑,並且您會得到許多棘手且功能強大的API來幫助您來回編組數據等。

RIA服務的主要任務是讓你專注於建築應用等,並減少對「從頭開始設計自己的框架」。

快速ASCII原始圖是這樣的:

CLIENT(Silverlight的) - > ADO.NET數據服務(客戶端)< - > < - > ADO.NET數據服務(服務器)< - 服務器(ASP.NET)

我們會更好地解釋什麼,併爲我們提供良好的反饋。

- 
Scott Barnes 
Rich Platforms Product Manager 
Microsoft. 
+0

感謝Scott提供的信息。作爲一個便箋,無論誰提出這個名字都沒有人幫忙。 – user179700 2009-10-07 11:26:26

相關問題