官术网_书友最值得收藏!

  • 決戰.NET
  • 黃忠成
  • 1486字
  • 2018-12-27 16:55:55

2.7 ASP.NET AJAX應用程序的分發

分發ASP.NET AJAX的應用程序與分發ASP.NET 2.0的應用程序并無太大不同,首先是目標計算機必須安裝好IIS及.NET Framework 2.0,另外還得特別小心ASP.NET AJAX的環境設置,當服務器端安裝ASP.NET AJAX時,也就是說你已將下載的ASPAJAXExtSetup.msi拿到分發目的地計算機上運行并完成安裝,那么所有的分發動作就跟分發ASP.NET 2.0程序沒有兩樣,那如果目標計算機未安裝ASP.NET AJAX而我們又沒辦法去安裝,在虛擬主機的情況下又該怎么做呢?稍后我們會再提及這種環境下的分發方式,現在先談談第一種,也就是目標環境已經安裝好ASP.NET AJAX的情況。

目標計算機已安裝ASP.NET AJAX環境下的分發

在“ASP.NET Web Application”模式下,將編譯后的目錄下除.cs文件外復制到IIS的虛擬目錄下即可完成分發。請記得該虛擬目錄必須擁有腳本的運行權限,而且得點擊創建應用程序按鈕來啟用ASP.NET,如圖2-26所示。

true

圖2-26

最終可用的ASP.NET虛擬目錄應如圖2-27所示。

true

圖2-27

需特別注意ASP.NET標記的設定(如果有的話,某些計算機上可能無法看到此標記),要選成ASP.NET 2.0.50727,如圖2-28所示。

true

圖2-28

Web Site模式可以利用Visual Studio 2005提供的分發工具來進行分發,如圖2-29所示。

true

圖2-29

這個工具中有3 個選項可供選擇,如圖2-30 所示。當勾選第一個選項時,表示分發出來的文件會使用傳統的“ASP.NET Web Application”模式編譯,保留.aspx文件可供用戶修改頁面的布局,未勾選此選項時,即表示編譯后將不保留.aspx文件的內容(此時.aspx文件仍然會存在,只是內容將只剩下一行),也就是用戶不能通過修改.aspx來改變頁面的布局。勾選第二個選項會使此工具為每一個.aspx產生一個.DLL文件,這種模式可以讓日后更新某一網頁時,只要更新對應的.aspx及.DLL文件即可。勾選第三個選項則會讓此工具為編譯出來的.DLL加上數字簽名,讓用戶可以確認拿到的文件是由你所發出的。這三個選項是可以復合勾選的,舉個例來說,當勾選第一、第二選項后,此工具將會為每一個.aspx產生一個.DLL,并且保留.aspx文件內容供用戶改變頁面布局,若只勾選第二個選項,那么產生出來的將是每一個.aspx有一個對應的.DLL,但.aspx的內容已經被刪減成一行,不允許用戶修改.aspx來改變頁面布局。在分發時可選擇分發的路徑,圖2-31 是勾選第一選項并將分發路徑設為F:\Temp\MyWeb1 時,MyWeb1目錄的文件內容。

true

圖2-30

true

圖2-31

接下來只要將此目錄中的文件復制到目地IIS中的虛擬目錄即可完成分發,此時的.aspx內容仍然保持原貌。若不勾選第一選項而進行分發,內容仍然不變,只是.aspx文件內容會如圖2-32所示。

true

圖2-32

如勾選第二選項,產生的文件便如圖2-33所示。

true

圖2-33

若IIS安裝在本機上,分發工具也允許直接分發到IIS中,請點擊分發工具輸入分發目錄區域右方的“...”按鈕,如圖2-34所示。

true

圖2-34

若要分發的IIS之“Web Application”目錄不存在,請點擊右上角創建一個新的“Web Application”目錄,并在選取該目錄后點擊開啟即可,如圖2-35所示。

true

圖2-35

目標計算機未安裝ASP.NET AJAX環境下的分發

在依照上面的方式將ASP.NET AJAX應用程序分發到一個未安裝ASP.NET AJAX環境的計算機后,運行時會出現如圖2-36所示的錯誤。

true

圖2-36

這是因為ASP.NET AJAX應用程序會引用一個System.Web.Extensions.dll,而目的計算機上因為沒安裝ASP.NET AJAX環境而找不到該文件所引發的錯誤信息。解決辦法很簡單,將該文件一并分發出去即可,在Web Site模式下,你可以在“Solution Explorer”上右鍵單擊選擇“New Folder”,如圖2-37所示。

true

圖2-37

然后將該文件夾命名為“Bin”,如圖2-38所示。

true

圖2-38

接著在上面再右鍵單擊,選擇“Add Existing Item”,如圖2-39所示。

true

圖2-39

然后選取加入ASP.NET AJAX目錄下的System.Web.Extensions.dll文件,如圖2-40、圖2-41所示。

true

圖2-40

true

圖2-41

完成后重新編譯程序,并利用上述之分發工具來分發,此時產生的文件就會包含System.Web.Extensions.dll了,最后只要將產生出來的文件都復制到IIS之虛擬目錄下即可完成分發。在“ASP.NET Web Application”的項目模式下就更簡單了,只要點擊“References”目錄下的System.Web.Extensions.dll,并切換到屬性頁,修改其“Copy Local”屬性為True,如圖2-42、圖2-43所示。

true

圖2-42

true

圖2-43

完成后重新編譯,產生的文件就會包括System.Web.Extensions.dll了,最后只要復制除.cs外的文件到目地的IIS虛擬目錄即可。

主站蜘蛛池模板: 霍邱县| 德兴市| 兴山县| 昭平县| 克东县| 郁南县| 隆子县| 连州市| 禹城市| 山阴县| 南充市| 大方县| 青岛市| 佛坪县| 乐都县| 资讯 | 嘉兴市| 丁青县| 巧家县| 岑巩县| 南康市| 丰城市| 青龙| 咸丰县| 延吉市| 鄂托克旗| 磐安县| 延川县| 陆良县| 宣城市| 宜昌市| 马公市| 文山县| 丰宁| 比如县| 涞源县| 永济市| 新闻| 抚松县| 洪湖市| 都安|