新聞中心
在MIX 09上,Nikhil Kothari發(fā)布了微軟的一神作——Microsoft .NET RIA Services。雖然目前的版本僅僅是可憐的"March '09 Preview”,但它已經(jīng)足夠讓人興奮不已。簡(jiǎn)單地說(shuō),在這之前,如果你用到了現(xiàn)在的RIA技術(shù)比如Silverlight,你只能選擇寫大量的服務(wù)或者WCF來(lái)實(shí)現(xiàn)數(shù)據(jù)的操作功能;而有了.NET RIA Services,你在RIA項(xiàng)目上操作數(shù)據(jù),就像ASP.NET那樣方便!
傳統(tǒng)的RIA是怎樣操作數(shù)據(jù)的

在去年這個(gè)時(shí)候,Silverlight 2Beta剛發(fā)布,有個(gè)朋友問(wèn)我能不能使用Silverlight直接操作數(shù)據(jù)庫(kù)。當(dāng)時(shí)的答案當(dāng)然是:很遺憾,不行。我們不得不使用大量的Web Services或者WCF來(lái)提供對(duì)數(shù)據(jù)庫(kù)操作的每一個(gè)環(huán)節(jié),Silverlight只能與數(shù)據(jù)層“間接接觸”。
上圖表明了整個(gè)過(guò)程。這樣的數(shù)據(jù)操作雖然已經(jīng)被大家習(xí)慣,但它是不合理的。就像是在實(shí)現(xiàn)“三通”以前,咱們?nèi)ヅ_(tái)灣只能先去香港轉(zhuǎn)機(jī)。
這是因?yàn)?,這樣的“間接接觸”,不僅不直觀,還浪費(fèi)了開發(fā)者大量的經(jīng)理去考慮一些不該考慮的問(wèn)題。開發(fā)者需要在客戶端、Web Service端,BLL端各寫一個(gè)不同版本的數(shù)據(jù)操作代碼,并且還要考慮他們之間交互的安全性、網(wǎng)絡(luò)情況等等,簡(jiǎn)直就是一個(gè)浪費(fèi)大量ATP只產(chǎn)生微量GDP的過(guò)程。
合理的數(shù)據(jù)操作應(yīng)該怎樣的
上圖展示了微軟在RIA與數(shù)據(jù)庫(kù)交互上的宏偉構(gòu)想:無(wú)論是Silverlight,WPF,Javascript,還是ASP.NET,WCF,它們都應(yīng)該使用無(wú)差別的數(shù)據(jù)邏輯,能夠直接訪問(wèn)到數(shù)據(jù)層面,而不需要通過(guò)一層類似“代理”的數(shù)據(jù)服務(wù)。
Microsoft .NET RIA Services將如何實(shí)現(xiàn)“合理”
以上就是.NET RIA Services的實(shí)現(xiàn)原理。開發(fā)者在ASP.NET端的數(shù)據(jù)處理類(本圖中是HRService)繼承自一個(gè)叫做DomainService的類,在里面實(shí)現(xiàn)一些數(shù)據(jù)操作。.NET RIA Services就會(huì)自動(dòng)生成相應(yīng)的客戶端類(本圖中是HRContext)。而在我們開發(fā)客戶端的時(shí)候,我們就可以直接調(diào)用.NET RIA Services生成的那個(gè)類,直接操作數(shù)據(jù)層面。
文章標(biāo)題:.NETRIAServices就像ASP.NET那樣方便
新聞來(lái)源:http://fisionsoft.com.cn/article/ccodsdj.html


咨詢
建站咨詢
