3.11 ASP.NET AJAX Client Framework的版本
ASP.NET AJAX Client Framework提供了兩種版本:Release及Debug。Release版本刪除了調試信息及程序中不需要的斷行,使此版本的文件大小縮到最小。文件越小,網頁初次加載速度就越快,刪除額外的調試信息則可以加快程序的運行效率,相對的,Release版本的可讀性也變差了,所以只有在開發完成,要分發至客戶端時,才適合切換到Release版本。Debug版本則正好相反,文件較大,可讀性也較佳,設計師可利用該版本專有的調試信息來調試,此版本通常于開發時期使用。ScriptManager控件的ScriptMode屬性可控制欲使用的版本,Debug代表使用Debug版本,Release代表使用Release版本,不過此值的設定會受到mechine.config中deployment區段的retail設定的影響。例如程序3-26 的設定便會將版本強制切換到Release版本,即使ScriptMode屬性值是Debug也一樣。
程序3-26
<system.web> <deployment retail="true" /> </system.web>
簡單地說,當retail為True時,一定會輸出Release版本,不管ScriptMode設定是什么!當retail是False時(默認值),若ScriptMode為Debug,則輸出Debug版本;若為Release則輸出Release版本。當ScriptMode是Auto或Inherit時,則依web.config中的compilation區段(程序3-27)設定而定,當此區段中的debug設為True時,就輸出Debug版本,反之則輸出Release版本。
程序3-27
<compilation debug="true">
表3-4是一個簡表,示意何時會輸出Release版本,何時會輸出Debug版本。
表3-4

ScriptPath
默認情況下,ScriptManager控件所輸出的ASP.NET AJAX Client Framework是內嵌于Assembly文件中的資源,設計師可以通過設定ScriptManager控件的ScriptPath屬性明確告知ScriptManager控件到哪個目錄取得ASP.NET AJAX Client Framework來輸出。當然,在指定此目錄前,得先將ASP.NET AJAX Client Framework的實例文件復制到這個目錄中,默認安裝時,這些文件安裝于C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\MicrosoftAjaxLibrary\System.Web.Extensions\1.0.61025.0\目錄中,這目錄中有兩種版本的.js檔,分別是Debug及Release。會使用ScriptPath屬性的原因只有一個,那就是你修改了ASP.NET AJAX Client Framework中的內容,可能想調整Async-Postback行為,或者調整錯誤信息,不管意圖是什么,請注意!ScriptPath屬性值有特定的目錄結構,例如其指定為ajaxScripts的話,那么該目錄的結構一定要如圖3-21所示。

圖3-21
意思是說,ScriptPath所指定的是放這些.js文件的最上層目錄名,而其下的目錄名是既定的System.Web.Extensions/1.0.61025.0,.js文件必須放在<ScriptPath>/ System.Web.Extensions/1.0.61025.0/目錄下。另外,當使用ScriptPath時,輸出版本控制的方式也略有差異,見表3-5。
表3-5
