下載了一個 ASP.NET AJAX Beta 版,卸載原來的 Atlas,執行安裝過程安裝到\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 節增加了
雖然我并沒有把這項設置添加到設置文件,只是把 DLL 文件放在 BIN 目錄下就成功執行了一個簡單的例子,不過不知道是否會有什么負面影響。另外設置文件中增加了一個
通過異步通信層(Asynchronous Communication Layer)能連接到網絡終端并且實現 Javascript 調用 Web Service。其實不論框架的實現機制怎么,XMLHTTP 終究都是 WEB 異步通信的核心。
小翻譯一段原文:異步通信層提供使用不同 client executors 的擴展。executor 能理解為是為客戶端請求和服務器之間通信提供接口的關鍵 Component。能自定義 executor 插件。
WebRequest Class 能通過 Get 或 Post 向服務器發送 HTTP 請求。IFRAME 能避免頁內容變化導致的頻繁修改,但缺點就是載入的優先級低于父頁,如果一個 IFRAME 中頁的內容相對較大就會讓整個頁初次載入的呈現效果較差,能通過這個方法獲取原本嵌入在 IFRAME 中的內容。另:JSON 也是個有趣的內容。
看了兩個示例:怎么通過 JavaScript 調用一個 Web Service 和 How To: Call a Web Service from JavaScript using Server Types,JavaScript 調用帶有服務器端類型的方法和以前略有不同,需要在 Web Service 額外聲明 Attribute,以前是通過 web.config 文件中增加
以前原來參考《Building Mash-ups with "Atlas"》做過一個獲取天氣的例子,不過通過 Reflector 看了一下,發現原來的birdge*全部都消失了。那么新版是通過什么樣的方案來解決 Cross site/domain Web Service 調用的呢?
我試了一下通過 Sys.Net.WebRequest 是能獲取 XML 代碼的,但安全問題在各瀏覽器中表現不一,不是警告就是禁止。
中間插播廣告:視窗系統 Live Contacts Gadget(beta)。
我也試了一下 PageMethods,不過在隱藏代碼的模型中也不是太好用,所以也只好借鑒盜鏈相冊圖片的原理(汗自己...)在 .aspx 文件中通過 XMLHTTP 對遠端的 Web Service 調用是獲取 XML 并處理了。
大家都在適應變化,博客園老趙點滴翻譯了一組文章,序挺有意思的。
新聞熱點
疑難解答
圖片精選