新版本平台的推出總是伴隨著許多壓力以及人們對期待已久功能的興奮之情開發者喜歡利用新技術建立應用程序不過在將現有的可靠應用程序由舊版本平台移植到最新最完善版本的過程中總會遇到一些困難
本周我來討論將在ASPNET 中建立的網絡應用程序移植到版本過程中可能出現的一些問題
ASPNET
新版的ASPNET 不只是一次升級——它是一次重大的技術更新因為它改變了ASPNET應用程序的設計編譯及配置方式微軟意識到現在還存在大量的ASPNET 程序因此旨在讓舊版應用程序無故障地運行另一方面技術升級也產生了將現有應用程序轉換到平台的需要考慮到上述問題我們來討論一下這兩個版本之間的區別以及在轉換過程中可能會遇到的問題
版本變化
雖然ASPNET 針對進行了許多改變但某些變化對於項目轉換有著重大的影響下面的列表簡單概括了一些主要改變
·代碼隱藏模式ASPNET 引入了部分類的概念而一個類能夠跨越多個類文件這是Visual Studio 應用的一項主要功能它將系統生成的代碼與用戶代碼分離開來這避免了你在閱讀源代碼時遇到系統生成代碼的情況部分類方法降低了無意編輯系統代碼並導致更小的代碼隱藏文件的風險
·目錄ASPNET 增加了許多特殊的目錄而僅有一個必要的bin目錄這些新目錄大都以App_為前綴如App_CodeApp_DateApp_ GlobeResources和App_LocalResourcesbin目錄依然與一個主題目錄一同存在新增目錄是取消項目文件的主要手段
·刪除項目文件ASPNET與Visual Studio 使用項目文件的日子一去不復返了項目現在變成了完整的網絡項目目錄這與有了很大的不同並可能引起後面提到的移植問題
·編譯模式在中所有的代碼被編譯到bin目錄中的一個集合中在中這個集合被分割成幾個集合這些集合可以在空閒時建立或預先編譯每個ASPNET目錄如App_Code和App_Data以及Web FormsUser Controls等都有各自的集合這是應用程序結構方面的重大變化它為向用戶交付應用程序提供更多配置選項
·應用程序配置版應用程序的配置相當簡單你只要移動內容文件以及必要的集合文件再復制並粘貼就可完成並沒有多少選擇的余地為應用程序配置提供各種選擇例如你可以選擇預先編譯代碼再配置它或不預先編譯而使用其它方法另外你還可以鎖定已配置的內容文件防止在配置後再進行修改(這與有很大不同)
上表詳細說明了ASPNET 與的主要差異以及它們對應用程序移植可能造成的影響現在我們再進一步討論可能出現的問題
應用程序轉換
上一部分說明的新舊版本間的主要差異為轉換應用程序時可能遇到的問題提供了一些線索下表著重強調在將一個應用程序移植到新的ASPNET 平台時需要注意的問題
·在轉換前你必須確定應用程序在中能夠正常運行在一個多功能項目中在轉換前應進行備份
·中刪除了項目文件這與有很大不同在中所有的引用被轉移到它們自己的目錄中另外網絡項目文件夾現在變成項目因此在中需要將舊版中有多個地址的項目劃分成單獨的項目在轉換前必須劃分這些項目
·的新目錄結構需要中用到的資源和其它組件你需要將它們轉移到新目錄中
· NET Framework已由升級到因此可能不再支持中的一些功能(如類或它們的方法和/或屬性)
轉換向導
微軟同時考慮到項目轉換問題Visual Studio 中包含一個轉換向導幫助你進行項目轉換
在轉換前Visual Studio轉換向導首先要求你對現有應用程序進行備份(這是個非常不錯的主意)接下來它執行轉換並在完成轉換後顯示一個轉換日志在新版本號中被替代或取消的NET Framework功能是轉換過程中可能出現的常見問題
列表A中的信息指出一項功能已被新版本中的另一功能代替因此我必須手工修改代碼不同的應用程序在轉換過程中可能出現各種問題你需要單獨解決每一個問題做出必要的改變才能充分利用平台
逐步轉換
不管哪種轉換最好是逐步有條理地進行沒有必要進行快速轉換ASPNET 中增加了大量新功能可以方便地建立強大的解決方案但當你將舊版ASPNET 應用程序轉換到新平台時必須考慮到這些改變記住本文所討論的這些變化利用轉換向導一步步地轉換到新平台
Tony Patton擁有豐富的JavaVBLotus及XML方面的知識是一個專業的應用程序開發人員
From:http://tw.wingwit.com/Article/program/net/201311/12065.html