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

首頁 > 編程 > .NET > 正文

asp.NET特寫

2024-07-10 12:56:26
字體:
來源:轉載
供稿:網友
asp.net特寫

創建動態web頁面的新技術已經以clr服務為基礎全部重新改寫。到目前為止,所有.net提供的語言都可用于編寫asp.net頁面,但頁面的擴展名和asp 3.0的不同。具體地說,簡單web頁面以“.aspx”為擴展名,web服務以“.asmx”為擴展名(來源于“assembly”),一種稱為pagelet的asp.net頁面可重用部件以“.aspc”為擴展名。
   .net應用能夠流暢地同時運行.asp和.aspx頁面。舊式的asp頁面將由asp.dll直接運行,但它不能利用clr的功能。

   現在,.aspx頁面不再解釋執行,而是在第一次調用出現時被編譯成msil代碼,然后再以中間代碼運行,就象j2ee環境下的jsp一樣。一個合乎邏輯的結論是性能會有所提升,microsoft宣稱它可以與visual basic 4升級到編譯版本5時應用性能的提升程度相媲美。

   除了理解vb.net引入的所有新概念之外,這些根本性的改變還要求對asp頁面的編寫方式作較大的改動。為了了解從asp遷移到asp.net所要做的工作,下面我們來分析一下主要改動之處。

   這些改動分屬三個層次:

api中的改動
頁面結構的改動
vb script和vb.net之間的改動
   asp.net只允許每個頁面使用一種語言。在dna中,asp頁面可以同時使用jscript和vb script;但asp.net不再允許這種用法。

   在asp.net中,函數必須用html < script >標記包圍,而且不允許把用于生成html代碼的函數分割成多個部分。例如,asp.net不允許出現下面這種代碼:

   相反,我們必須代之以如下代碼:

< script language="vb" runat=server >
function sayhello()
response.write ("< b >< i > ")
response.write (" hello ! ")
response.write ("< /i >< /b > ")
end function
< /script >


   括起函數調用參數的括號現在是必需的。另外,有的兼容性問題可能源于所有asp.net的數組下標都從0開始,而在asp 3中有的從0開始,有的從1開始。

   在vb.net中,默認情況下參數以值(byval)傳遞,而在當前的vb script中,參數默認以引用傳遞(byref)。最后,vb.net將不再支持默認值或關鍵詞set、let。

   雖然這些改動都不是重大的、根本性的,但如果要利用clr以及編譯代碼的優勢就必須修改現有的代碼,這些改動會占據開發者大量的時間。microsoft已經宣布,用于代碼遷移的工具會隨同.net平臺一起發布,但從現在起就養成合適的編碼習慣無疑是有益無害的。

   至于com組件,asp.net將采用封裝的形式使得原有的com組件仍舊能夠運行,但這些com組件將運行在clr受管理的環境之外,而且受管理以及非受管理環境之間的切換會犧牲一定的性能。因此,很多用戶可能會決定重新把com組件編寫成com + 2.0。

   asp.net引入了服務器端控件,它可能是asp.net吸引開發者使用它的一個重要原因。使用這些控件,asp.net頁面能夠利用可視或者非可視控件提供的如下高級服務:treeview(樹形視圖), listbox(列表框), calendar(日歷),等等。所有這些控件都會分析調用它們的客戶程序類型,然后生成合適的表現代碼。一般地,web頁面中的輸入框使用客戶端java script進行輸入合法性驗證,但如果瀏覽器不支持java script或者禁用了java script,用戶輸入驗證就會轉到服務器端。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 若羌县| 安宁市| 商城县| 始兴县| 丰镇市| 曲水县| 新丰县| 梓潼县| 汽车| 天等县| 辽中县| 顺昌县| 祁阳县| 雅江县| 巴彦县| 政和县| 望谟县| 泌阳县| 民勤县| 金阳县| 东乡| 洪湖市| 潼关县| 平原县| 威远县| 临夏市| 辽宁省| 抚顺市| 法库县| 阳原县| 开封市| 惠东县| 龙山县| 兰西县| 河津市| 筠连县| 榆中县| 夏河县| 闸北区| 万全县| 奎屯市|