如何正確對(duì)Silverlight WCF創(chuàng)建
想要完全理解Silverlight WCF怎么做,還是通過(guò)自己做個(gè)案例可以更牢固的對(duì)Silverlight WCF有所認(rèn)知,大多數(shù)人在做Silverlight WCF的時(shí)候會(huì)遇到許多頭疼的問(wèn)題,典型的就是跨域訪問(wèn)的問(wèn)題。
創(chuàng)建Silverlight WCF應(yīng)用程序項(xiàng)目的時(shí)候,VS會(huì)問(wèn)你是調(diào)試的時(shí)候生成測(cè)試頁(yè)來(lái)承載Silverlight WCF還是自動(dòng)創(chuàng)建個(gè)ASP.NET項(xiàng)目來(lái)承載Silverlight WCF, 有什么區(qū)別呢?如果你只是做Silverlight WCF的界面和客戶端的交互效果,用單獨(dú)的測(cè)試頁(yè)來(lái)承載就可以了,這樣方便調(diào)試,按個(gè)CTRL+F5就OK,但是如果你要用到WCF,或者通過(guò)ASP.NET做些動(dòng)態(tài)的事情,那么就用ASP.NET項(xiàng)目來(lái)承載吧,這樣可以盡可能的模擬出將Silverlight WCF承載到網(wǎng)站后的效果。#t#
創(chuàng)建Silverlight WCF后,你可以看到項(xiàng)目里有兩個(gè)XAML文件并相應(yīng)的對(duì)應(yīng)了.CS文件, 一個(gè)是APP.XAML另一個(gè)是Page.XAML,APP.XAML.CS的構(gòu)造函數(shù)是初始化Silverlight WCF項(xiàng)目的,接下來(lái)
可以看到 new 后面的就是Page.xaml.cs所在的類(lèi)。他的意思當(dāng)然就是創(chuàng)建Page示例,這樣你的Page就被實(shí)例化出來(lái)了,很像WINFORM吧。
之后的事情,個(gè)人認(rèn)為開(kāi)發(fā)過(guò).NET的人應(yīng)該都駕輕就熟了。需要注意的是,跟開(kāi)發(fā)ASP.NET不同, Silverlight WCF的所有代碼是在客戶端運(yùn)行的,對(duì)于很多開(kāi)發(fā)慣了ASP.NET的人來(lái)說(shuō)可能一下子不習(xí)慣,不過(guò)如果你是做WINFORM的,那就當(dāng)我沒(méi)說(shuō)。
試著寫(xiě)一個(gè)小程序來(lái)玩玩吧。
東西做好了,當(dāng)然那就需要編譯。Silverlight WCF在生成后會(huì)在BIN下生成一個(gè)APPMAINFEST.XAML,這是一些配置比如DLL的路徑,一個(gè)DLL,不用說(shuō)了,邏輯代碼都在這。另外會(huì)有一個(gè)XAP,這是什么,其實(shí)就是剛才說(shuō)的那兩個(gè)文件的一個(gè)壓縮包,可以ZIPRAR工具打開(kāi),他只是將后綴作為XAP,這樣在頁(yè)面上
就這么簡(jiǎn)單,在WEB上用
Silverlight WCF是什么?怎么說(shuō)呢?也許開(kāi)發(fā)過(guò)WPF的人會(huì)有比較透徹的理解。Silverlight WCF就像WPF提煉出來(lái)運(yùn)用到WEB上的插件。界面的開(kāi)發(fā),程序部分的開(kāi)發(fā)都集成了WPF的那一套,不過(guò),既然是應(yīng)用到WEB上的,自然遵循了很多WEB的規(guī)則,因此也有些許區(qū)別于WPF,至少他們概念上就完全是兩個(gè)東西,這樣的比較就類(lèi)似于WINFORM和 ACTIVEX。
Silverlight WCF可以像FLASH一樣做出炫目的客戶端效果,同時(shí)擁有完善的開(kāi)發(fā)構(gòu)架,程序員可以非常方便的處理Silverlight WCF中的事件、調(diào)用系統(tǒng)庫(kù),這是FLASH無(wú)法比擬的,當(dāng)然FLASH相對(duì)Silverlight WCF來(lái)說(shuō),動(dòng)畫(huà)和矢量的設(shè)計(jì)也許會(huì)更加得心應(yīng)手。
對(duì)于客戶端而言,Silverlight WCF與FLASH基本上一樣,用戶都需要在瀏覽器上安裝相應(yīng)插件(Silverlight WCF的插件小很多),展現(xiàn)出來(lái)同樣的有視覺(jué)沖擊力。所以對(duì)用戶而言,處了安裝的插件不同以外,其他似乎不存在什么太大的差異,這也是MS目的,只要用戶不認(rèn)為兩者有什么區(qū)別甚至Silverlight WCF更好,那么,對(duì)開(kāi)發(fā)人員的方便就是對(duì)MS的方便。
試著寫(xiě)一個(gè)小程序來(lái)玩玩吧。東西做好了,當(dāng)然那就需要編譯。Silverlight WCF在生成后會(huì)在BIN下生成一個(gè)APPMAINFEST.XAML,這是一些配置比如DLL的路徑,一個(gè)DLL,不用說(shuō)了,邏輯代碼都在這。另外會(huì)有一個(gè)XAP,這是什么,其實(shí)就是剛才說(shuō)的那兩個(gè)文件的一個(gè)壓縮包,可以ZIPRAR工具打開(kāi),他只是將后綴作為XAP,這樣在頁(yè)面上
就這么簡(jiǎn)單,在WEB上用
WCF是什么?根據(jù)我了解的資料,WCF是一個(gè)統(tǒng)一的類(lèi)似WEBSERVICE的解決方案,WEBSERVICE是WCF的一個(gè)子集。
他提供了更多更強(qiáng)的服務(wù)方案。
具體資料可以在MSDN上找到,廢話不多說(shuō)了。