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

首頁 > 編程 > .NET > 正文

Asp.net1.0 升級(jí) ASP.NET 2.0 的幾個(gè)問題總結(jié)

2024-07-10 13:11:38
字體:
供稿:網(wǎng)友
這幾天升級(jí)了一下原來的1.1項(xiàng)目,發(fā)現(xiàn)了一些問題,總結(jié)一下放在這里,也提醒還沒有來得及升級(jí)或準(zhǔn)備升級(jí)的朋友,升級(jí)的過程中少走彎路,少浪費(fèi)時(shí)間。
1.global.asax文件的處理形式不一樣,轉(zhuǎn)化后將出現(xiàn)錯(cuò)誤,在vs2003中g(shù)lobal.asax具有代碼后置文件,2.0下, 將代碼分離文件移到 app_code 目錄下,以便使其自動(dòng)變?yōu)榭赏ㄟ^應(yīng)用程序中的任意 asp.net 頁面訪問。“code-behind”屬性將從 asax 文件的指令中刪除。vs2005則直接把代碼寫在global.asax。所以需要?jiǎng)h除轉(zhuǎn)化過來的文件重新加入,并把相應(yīng)的代碼copy過來。
2.2.0沒有了項(xiàng)目文件。 在 1.1 應(yīng)用程序中,項(xiàng)目文件包含生成設(shè)置、對(duì)外部程序集的引用以及項(xiàng)目中的文件列表。而在 2.0 應(yīng)用程序中,不再需要版本設(shè)置和文件列表,因?yàn)?web 項(xiàng)目目錄下的所有文件都被視為 web 項(xiàng)目的一部分。
3.代碼分離模式
在 asp.net 1.1 中,代碼分離模式使內(nèi)容(例如 test.aspx)與代碼(例如 test.aspx.cs)分離。內(nèi)容頁面從代碼分離頁面繼承而來,代碼分離頁面包含用戶和設(shè)計(jì)器生成的代碼。
asp.net 2.0 通過使用局部類來增強(qiáng)代碼分離模式,使用 partial 關(guān)鍵字可以將單個(gè)類的代碼分隔到兩個(gè)獨(dú)立的文件中。它允許一個(gè)類跨越多個(gè)文件。在新的代碼分離模式中,內(nèi)容頁面從編譯的類繼承而來,它由相應(yīng)的代碼分離頁面以及自動(dòng)生成的存根文件組成,存根文件用于為內(nèi)容頁面中使用的控件定義字段聲明。此項(xiàng)更改使自動(dòng)生成的代碼與用戶的代碼分離,并且使代碼分離頁面顯著變小且更加簡(jiǎn)潔。局部類結(jié)構(gòu)還降低了由于編輯設(shè)計(jì)器生成的代碼而不小心破壞頁面的風(fēng)險(xiǎn)。
如果出錯(cuò)請(qǐng)檢查是否有partial 關(guān)鍵字,否則添加 partial 關(guān)鍵字。
4.語法檢查。asp.net1.1程序,編譯時(shí)不會(huì)檢查aspx、aspcx等文件中的語法錯(cuò)誤,而vs2005編譯時(shí)會(huì)檢查項(xiàng)目中所有的aspx、aspcx等文件中的語法,所以如果有語法錯(cuò)誤,會(huì)導(dǎo)致編譯無法通過。
5.控件聲明。如果在 .aspx 頁面上聲明了所有控件,則從代碼分離文件中刪除所有控件聲明,否則報(bào)錯(cuò):重復(fù)定義。
6.(僅限于 c#)將事件掛鉤代碼從代碼分離文件的 initialzecomponent 函數(shù)移到 .aspx 頁面中。請(qǐng)注意,此操作不適用于自動(dòng)調(diào)用的事件,包括 page_init、page_load、page_databind、page_prerender、page_unload、page_error、page_aborttransaction 和 page_committransaction。
7. 部署方式(預(yù)編譯、完整編譯、可更新站點(diǎn)等)。在 1.x 中,web 應(yīng)用程序是作為一個(gè)大型程序集而預(yù)編譯和部署的。內(nèi)容頁面(*.aspx)不在服務(wù)器上編譯,但可以在服務(wù)器上編輯。借助新的頁面編譯模式和目錄結(jié)構(gòu),您就可以使用多種不同的配置來部署 asp.net 2.0 應(yīng)用程序。一種情況,您可以預(yù)編譯所有的 aspx 頁面并部署由完全編譯好的程序集組成的 web 應(yīng)用程序。在這種模式下,您不能在服務(wù)器上輕松地更改該應(yīng)用程序。另一種情況,您可以在不預(yù)編譯任何代碼的情況下部署應(yīng)用程序。在這種配置下,您可以直接在服務(wù)器上更改該應(yīng)用程序中的 .aspx 頁面、代碼分離文件或其他任何代碼。當(dāng)用戶請(qǐng)求服務(wù)器上的頁面時(shí),頁面將被動(dòng)態(tài)編譯。
8.將 .aspx 頁面中的所有 codebehind 屬性更改為 codefile 屬
codebehind: 指定包含與頁關(guān)聯(lián)的類的已編譯文件的名稱。該屬性不能在運(yùn)行時(shí)使用。
提供此屬性是為了與以前版本的 asp.net 的兼容,以實(shí)現(xiàn)代碼隱藏功能。在 asp.net 2.0 版中,應(yīng)改用 codefile 屬性指定該源文件的名稱,同時(shí)使用 inherits 屬性指定該類的完全限定名稱。
codefile
指定指向頁引用的代碼隱藏文件的路徑。此屬性與 inherits 屬性一起使用可以將代碼隱藏源文件與網(wǎng)頁相關(guān)聯(lián)。此屬性僅對(duì)編譯的頁有效。
9.將所有獨(dú)立的代碼文件和assemblyinfo.cs都被移到 app_code 目錄下
但運(yùn)行轉(zhuǎn)換向?qū)е螅赡軙?huì)發(fā)現(xiàn)某些代碼分離文件(例如,*.aspx.cs 或 *.ascx.vb)被移到 app_code 目錄下。這表明代碼分離文件的內(nèi)容頁面含有格式不正確的 codebehind 指令,并且沒有進(jìn)行正確設(shè)置。也就是說,轉(zhuǎn)換向?qū)Р荒艽_定該代碼分離文件是否實(shí)際綁定到某個(gè)特定的 .aspx 頁面。
10.web 服務(wù)
在 asp.net 1.x 中,web 服務(wù) (.asmx) 自動(dòng)拆分到空白標(biāo)題頁面 (.asmx) 和包含實(shí)際方法的代碼分離文件中。
asp.net2.0下:
• 將代碼分離類移到 app_code 目錄下,以便使其自動(dòng)變?yōu)榭赏ㄟ^應(yīng)用程序中的任意 asp.net 頁面訪問。 
• 更改 .asmx 文件中的 codebehind 屬性,以便指向新位置。
(請(qǐng)注意,代碼分離文件不使用局部類,因此繼續(xù)使用 codebehind 屬性。) 
• 將所有的默認(rèn)、friend 和 internal 范圍的聲明更改為 public。

在1.1到2.0的升級(jí)過程中,你遇到過什么樣的問題呢?可以寫下來讓大家共同學(xué)習(xí),少走彎路。

  • 網(wǎng)站運(yùn)營(yíng)seo文章大全
  • 提供全面的站長(zhǎng)運(yùn)營(yíng)經(jīng)驗(yàn)及seo技術(shù)!
  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 巴彦淖尔市| 长垣县| 天长市| 兰州市| 武陟县| 霍山县| 白沙| 阿图什市| 楚雄市| 钟山县| 太谷县| 凌云县| 柞水县| 横山县| 兴和县| 象山县| 双鸭山市| 河津市| 吴桥县| 策勒县| 正宁县| 江达县| 长顺县| 临沧市| 凤山市| 海南省| 泉州市| 循化| 基隆市| 中江县| 神池县| 来安县| 黔江区| 广灵县| 洛宁县| 衡南县| 临颍县| 嘉荫县| 霍山县| 化隆| 莱阳市|