国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用@Page指令的Src屬性 簡(jiǎn)化對(duì)老版本的asp.net程序的維護(hù)

2019-11-18 17:55:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

    轉(zhuǎn)眼間,距離微軟推出.net平臺(tái)已經(jīng)4年了,.net也經(jīng)歷了 從 1.0 到 1.1 再到2.0的升級(jí)。 由于 asp.net 2.0 和vs 2005 IDE的各種優(yōu)越特性的吸引,大伙都忙著學(xué)習(xí)2.0,將項(xiàng)目升級(jí)至vs 2005 下面開發(fā)。 但實(shí)際上,很多項(xiàng)目由于種種原因,無(wú)法升級(jí)到新版本。隨著時(shí)間的變遷,老版本的項(xiàng)目維護(hù)問(wèn)題越來(lái)越讓人頭痛。雖然.net誕生時(shí)間不長(zhǎng),但4年的時(shí)間足夠積累一量的項(xiàng)目。
    我手上就有個(gè)用vs.net 2002開發(fā)的項(xiàng)目,由于種種原因一直沒(méi)有升級(jí)(主要是因?yàn)樵擁?xiàng)目在vs.net 2003出來(lái)之前已經(jīng)良好運(yùn)行了一段時(shí)間,并且服務(wù)器上的其他asp.net程序無(wú)法適應(yīng).net 1.1的安全性要求。)
    當(dāng)初公司開發(fā)平臺(tái)升級(jí)時(shí),在電腦上同時(shí)安裝vs.net 2002 和vs.net 2003, 暫時(shí)性的解決了不同版本的項(xiàng)目的維護(hù)。再后來(lái),項(xiàng)目過(guò)了維護(hù)期了,很久沒(méi)更新了,我電腦也重裝了,vs.net 2002就徹底掃地出門了。可到了2005年,客戶每隔1,2個(gè)月就提出修改要求,而且要快,沒(méi)辦法 ,客戶太牛B,過(guò)了維護(hù)期也要改。可問(wèn)題來(lái)了,沒(méi)有vs 2002,無(wú)法編譯啊。
    在電腦上裝個(gè).net framework 1.0, 使用手工方式調(diào)用 csc 編譯修改后的代碼,非常麻煩,項(xiàng)目有一堆引用,編寫命令行很繁。特別是項(xiàng)目有很多文件夾時(shí)更痛苦。也考濾過(guò)寫個(gè)程序編譯,但我懶,一直沒(méi)實(shí)現(xiàn)。
    今天又碰上要修改程序,突然想起很早的時(shí)候(2002年)使用過(guò)一次 @Page指令的 Src 屬性,使用此屬性,asp.net將采用自己的編譯模型而不是使用vs.net IDE的CodeBehind方式,代碼無(wú)需編譯成dll 便可發(fā)布,訪問(wèn)站點(diǎn)時(shí),asp,net會(huì)自動(dòng)將aspx文件 和 .aspx.vb 文件一起編譯。 這種方式的缺點(diǎn)主要有兩個(gè):1、 代碼文件(.vb) 必須發(fā)布到服務(wù)器上,  2、vs.net IDE 不支持。 因?yàn)榈诙€(gè)問(wèn)題的原因,后來(lái)放棄使用了,這事也就忘了。 現(xiàn)在正愁沒(méi)辦法編譯程序呢,只要能讓修改的代碼生效,其他的缺點(diǎn)都不考濾了。 反正所有的源代碼都發(fā)布到服務(wù)器上了。 我在@Page 指令中 加了個(gè) Src屬性,使用的值與CodeBehind 屬性的值相同,指向代碼文件。再將.vb 文件中的代碼修改完畢。刷新,修改生效,維護(hù)完成。爽啊。以后就這么干了。由于vs.net IDE 不支持,MSDN上也是一筆帶過(guò),未必有很多人知道.net具有這種編譯模型。現(xiàn)在將其共享出來(lái),如果有人也正經(jīng)受我一樣的痛苦,您也可以考濾在頁(yè)面中添加Src,呵呵,簡(jiǎn)單快捷,改完代碼就生效,不用再絞盡腦汁找工具編譯了。

    總結(jié): 包括我在內(nèi)的許多人,都更喜歡將程序編譯成dll,感覺(jué)這才更像一個(gè)發(fā)布的軟件。其實(shí),采用“將所有源代碼發(fā)布到服務(wù)器,運(yùn)行時(shí)完整的編譯代碼”的方式非常不錯(cuò),大大簡(jiǎn)化日后的維護(hù)工作。很多公司為客戶作的項(xiàng)目其實(shí)沒(méi)必要對(duì)客戶隱藏源代碼。在這種情況下,使用這種方式為以后的維護(hù)工作帶來(lái)巨大的好處,無(wú)論.net 升級(jí)了n次,不管你電腦上是否裝有相應(yīng)版本的開發(fā)工具,你都無(wú)需擔(dān)心,用記事本都可以搞定一切。
  
    注意: 所有版本的 asp.net都支持此編譯模式,但vs.net 2002和2003的 IDE不支持,無(wú)法打開設(shè)計(jì)視圖。 剛出來(lái)的vs 2005  IDE支持這種編譯模式。 使用Src 屬性時(shí),CodeBehind屬性不再需要了,但建議你仍然保留,如果你突然需要回到計(jì)視圖,它還可以幫你的忙。  Inherits 屬性也不需要,但強(qiáng)烈建議你不要?jiǎng)h除它,因?yàn)槿绻阍赼spx文件的控件聲明中直接綁定了事件(如: OnClick="....") ,沒(méi)有Inherits屬性會(huì)報(bào)錯(cuò)。

出處:cwbboy BLOG


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新邵县| 静安区| 咸丰县| 呈贡县| 陇川县| 平凉市| 周口市| 循化| 尉氏县| 昔阳县| 兴义市| 万山特区| 西吉县| 吉木乃县| 德令哈市| 镇巴县| 砚山县| 那曲县| 霸州市| 金塔县| 大同县| 重庆市| 三门县| 南华县| 东乡族自治县| 获嘉县| 陕西省| 会理县| 桃园市| 仁布县| 乐业县| 平江县| 林芝县| 原阳县| 包头市| 佛学| 壶关县| 湟中县| 若羌县| 南雄市| 和田县|