ASP.net 1.1 -- (*@__@*) --> ASP.net 2.0
.NET 1.1 已經是微軟不可能再回頭支援的過時玩意了,.NET 2.0 的核心才是他未來技術發展的基石 ( 目前推出的 .NET 3.5 仍是以 2.0 為底層 )。對於微軟這種全面性推翻舊東西硬是逼著你升級的做法,我是很感冒,由其是對於過去 1.1 時代就選擇支持它的群眾,如今卻被逼著必須同時安裝多套不同的 IDE 來回在不同版本的程式間作維護。 如今許多方便好用的功能都已經內建在 .NET 2.0 之上,回頭看看當初 1.1 寫的東西總是很想掉下眼淚,無奈自己已經誤上賊船,為了降低將來維護成本並且增加未來發展的視野性,最近幾天就鐵下心來,籌畫著將私底下仍在經營的網站,升級到 ASP.NET 2.0。 為了讓整個升級過程無痛,我不想讓使用者發覺停機過久,盡量讓網站無法運作的時間縮短在一個「瞬間」,所以我決定利用 ASP.NET 2.0 / CLR 2.0 仍可以執行 1.1 版本的向下相容特性,決定先透過變更 IIS 內的版本設定讓 ASP.NET 1.1 開發的網站先執行在 2.0 的環境底下,等到平穩後,再找個機會以迅雷不及掩耳的速度,將重新編譯過的新版網站上傳到 FTP 蓋過舊的,這個過程理應只有幾個線上的使用者的 Session 失效,重新登入或是重新整理網頁就一切正常。 其實整個過程說來蠻單純的,風險應該不大,但讓我拖了一年半載遲遲沒有動手的原因,主要就是用 ASP.NET 2.0 去執行 ASP.NET 1.1 的向下相容性並沒有很好,實際跑起來還遇到蠻多問題的,一直讓我怯步。 首先,為了讓我的網站能同時支援以不同語言來顯示畫面 ( 目前同時支援 繁中 / 簡中 / 英文 的操作畫面 ),所以我網頁上的顯示文字是根據使用者下拉語言的選單動態產生的。我實做的方式很簡單,就是以一個 XML 檔儲存所有控件顯示的文字訊息。例如我有一個網頁 Index.aspx 上面還有一個顯示訊息的 Label ,其 ID = Label_Welcome,那我在繁中的 XML 語言檔 ( zh-tw.xml ) 就是如下: < root > < Index > < Label_Welcome >歡迎光臨</ Label_Welcome > </ Index...