下載了一個(gè) ASP.NET AJAX Beta 版,卸載原來(lái)的 Atlas,執(zhí)行安裝過(guò)程安裝到\Program Files\Microsoft ASP.NET目錄下。差別是 Microsoft.Web.Extensions.dll 被安裝到 GAC 中,并且在安裝指引中有這樣一段話:
“The installation package installs the assembly (Microsoft.Web.Extensions.dll) in the Global Assembly Cache (GAC). Do not include the assembly in the Bin folder of your AJAX-enabled Web site.”
在 web.config 的 system.web-compilation-assemblies 節(jié)增加了
雖然我并沒(méi)有把這項(xiàng)設(shè)置添加到設(shè)置文件,只是把 DLL 文件放在 BIN 目錄下就成功執(zhí)行了一個(gè)簡(jiǎn)單的例子,不過(guò)不知道是否會(huì)有什么負(fù)面影響。另外設(shè)置文件中增加了一個(gè)
通過(guò)異步通信層(Asynchronous Communication Layer)能連接到網(wǎng)絡(luò)終端并且實(shí)現(xiàn) Javascript 調(diào)用 Web Service。其實(shí)不論框架的實(shí)現(xiàn)機(jī)制怎么,XMLHTTP 終究都是 WEB 異步通信的核心。
小翻譯一段原文:異步通信層提供使用不同 client executors 的擴(kuò)展。executor 能理解為是為客戶端請(qǐng)求和服務(wù)器之間通信提供接口的關(guān)鍵 Component。能自定義 executor 插件。
WebRequest Class 能通過(guò) Get 或 Post 向服務(wù)器發(fā)送 HTTP 請(qǐng)求。IFRAME 能避免頁(yè)內(nèi)容變化導(dǎo)致的頻繁修改,但缺點(diǎn)就是載入的優(yōu)先級(jí)低于父頁(yè),如果一個(gè) IFRAME 中頁(yè)的內(nèi)容相對(duì)較大就會(huì)讓整個(gè)頁(yè)初次載入的呈現(xiàn)效果較差,能通過(guò)這個(gè)方法獲取原本嵌入在 IFRAME 中的內(nèi)容。另:JSON 也是個(gè)有趣的內(nèi)容。
看了兩個(gè)示例:怎么通過(guò) JavaScript 調(diào)用一個(gè) Web Service 和 How To: Call a Web Service from JavaScript using Server Types,JavaScript 調(diào)用帶有服務(wù)器端類型的方法和以前略有不同,需要在 Web Service 額外聲明 Attribute,以前是通過(guò) web.config 文件中增加
以前原來(lái)參考《Building Mash-ups with "Atlas"》做過(guò)一個(gè)獲取天氣的例子,不過(guò)通過(guò) Reflector 看了一下,發(fā)現(xiàn)原來(lái)的birdge*全部都消失了。那么新版是通過(guò)什么樣的方案來(lái)解決 Cross site/domain Web Service 調(diào)用的呢?
我試了一下通過(guò) Sys.Net.WebRequest 是能獲取 XML 代碼的,但安全問(wèn)題在各瀏覽器中表現(xiàn)不一,不是警告就是禁止。
中間插播廣告:視窗系統(tǒng) Live Contacts Gadget(beta)。
我也試了一下 PageMethods,不過(guò)在隱藏代碼的模型中也不是太好用,所以也只好借鑒盜鏈相冊(cè)圖片的原理(汗自己...)在 .aspx 文件中通過(guò) XMLHTTP 對(duì)遠(yuǎn)端的 Web Service 調(diào)用是獲取 XML 并處理了。
大家都在適應(yīng)變化,博客園老趙點(diǎn)滴翻譯了一組文章,序挺有意思的。
新聞熱點(diǎn)
疑難解答
圖片精選