[摘 要] 本文主要介紹了ASP.NET語言的特性、在動態(tài)頁面中服務(wù)器、客戶端與數(shù)據(jù)庫的相關(guān)連接方法及其實(shí)現(xiàn)過程。適合應(yīng)用于Access、SQL Server,以及其他相關(guān)數(shù)據(jù)庫的SQL訪問,是建立動態(tài)網(wǎng)站的有力工具。
[關(guān)鍵詞]ASP. NET 數(shù)據(jù)庫 動態(tài) SQL
最近,一些基于TCP或IP的Internet或Intranet技術(shù),被廣泛應(yīng)用于各級企業(yè)網(wǎng)站,其中一個(gè)很重要的手段就是建立Web站點(diǎn)發(fā)布和瀏覽信息。傳統(tǒng)的靜態(tài)網(wǎng)頁技術(shù)已越來越不能滿足用戶的需求,因此各種動態(tài)網(wǎng)頁技術(shù)應(yīng)運(yùn)而生。ASP就是目前比較流行的動態(tài)網(wǎng)頁技術(shù)之一,而ASP. NET是微軟的新一代動態(tài)網(wǎng)頁技術(shù)。ASP. NET不是ASP的簡單升級,而是微軟公司推出的新一代Active Server Pages,是微軟公司推出的新一代體系結(jié)構(gòu)Microsoft. NET的一部分。Microsoft. NET主要由W indows. NET、. NETFramework、. NET Enterp rise Server、Orchestration、MSN. NET、OFFICE. NET、Visual Studio. NET、bCentral. NET等部分組成。其中全新的技術(shù)架構(gòu)會使編程變得更簡單,ASP. NET是在抓住ASP的最大優(yōu)點(diǎn)并全力使其擴(kuò)大化的基礎(chǔ)上開發(fā)出來的,同時(shí)也修復(fù)了許多ASP運(yùn)行時(shí)會發(fā)生的錯誤。
一、ASP. NET的技術(shù)的發(fā)展及現(xiàn)狀
ASP. NET是建立在微軟新一代. NET平臺架構(gòu)上, 利用普通語言運(yùn)行時(shí)( CommonLanguageRuntime, CLR)在服務(wù)器后端為用戶提供建立強(qiáng)大的企業(yè)級Web應(yīng)用服務(wù)的編程框架。ASP. NET可完全利用. NET架構(gòu)的強(qiáng)大、安全和高效的平臺特性,是運(yùn)行在服務(wù)器后端編譯后的普通語言運(yùn)行時(shí)的代碼,運(yùn)行時(shí)早綁定( Early B inding) 、即時(shí)編譯、本地優(yōu)化、緩存服務(wù)、零安裝配置和基于運(yùn)行時(shí)代碼受管與驗(yàn)證的安全機(jī)制等都為ASP. NET帶來了卓越的性能。對XML,SOAP,WSDL等Internet標(biāo)準(zhǔn)的強(qiáng)有力的支持,為ASP. NET在異構(gòu)網(wǎng)絡(luò)里提供了強(qiáng)大的擴(kuò)展性。
二、ASP. NET的優(yōu)點(diǎn)
1.支持多種腳本語言
ASP曾在腳本引擎方面受到限制,特別是VBScrip t和JavaScript。而ASP.NET可以支持VS.NET中的多種語言,例如C#、VB. Net等。這意味著可以擺脫VBScrip t的語言限制,代碼將是編譯后運(yùn)行的而不是原來的解釋執(zhí)行。
2.服務(wù)器處理
在Internet上作為服務(wù)發(fā)布的軟件是WebServices的核心。ASP. NET 提供了一個(gè)WebServices的基礎(chǔ)構(gòu)造環(huán)境,從而使開發(fā)人員能夠?yàn)檫@個(gè)服務(wù)模型創(chuàng)建服務(wù)。Web Services的不同之處在于,它允許你暴露一個(gè)服務(wù)而不必暴露數(shù)據(jù)。當(dāng)自動提供商業(yè)服務(wù)的同時(shí),代碼和數(shù)據(jù)都是安全的。
3.代碼與內(nèi)容的分離
通常ASP代碼是和內(nèi)容混合在一起的,設(shè)計(jì)和編寫代碼同時(shí)進(jìn)行會變得困難。如果頁面需要升級,就會存在危險(xiǎn)的潛在問題。ASP. NET可通過兩種方法來解決這個(gè)問題。第一種是代碼內(nèi)聯(lián)模型,在該模型中代碼仍然保存在ASP. NET頁面中,但它并不和HTML混合在一起。第二種分離代碼和內(nèi)容的方法是代碼后置模型,該模型中的代碼被完全轉(zhuǎn)移到一個(gè)單獨(dú)的文件中。
4.更好的代碼控制
對于COM對象不再需要再在服務(wù)器上注冊這個(gè)功能,是非常受程序員喜愛的。但是通過這種過程簡化,你再也不能夠在你的服務(wù)器上運(yùn)行另外一個(gè)DLL版本,并且代碼相當(dāng)保密。這就意味著,如果沒有正確的開發(fā)工具和源代碼,很難改變代碼。
5.更好的升級能力
此系統(tǒng)建成,本身有著一定的特性,以改進(jìn)多處理器環(huán)境中的性能。例如, session state能夠通過單獨(dú)的處理器來維持,在一個(gè)單獨(dú)的機(jī)器上,甚至在數(shù)據(jù)庫中允許交叉的服務(wù)器會話。
三、ASP. NET的運(yùn)行環(huán)境
a. 服務(wù)器端:Windows 2003 Server。
b. 客戶端: Internet Exp lorer5.5以上。
c. ASP的開發(fā)環(huán)境:Visual Studio.NET 2005。
d. ASP. NET的開發(fā)語言: VB.NET,C#。
四、ASP. NET與WEB數(shù)據(jù)庫的連接
ASP. NET不僅帶來了ADO.NET,還帶來了SQL Managed Provider。這樣在ASP.NET里,我們就有了三種連接數(shù)據(jù)庫的方式:
(1)ADO. NETManaged Provider
(2)SQL Managed Provider
(3)ADO. NETManaged Provider +ODBC
其中,方式(1)可以連接到任何ODBC 或者OLEDB數(shù)據(jù)中心,而方式(2)可以連接到MS SQLServer。三種方法的對比如下:
一般來說,這三種存取數(shù)據(jù)庫的方法中, SQL Managed Provider 效率最高, 其次是ADO. NETManaged Provider + OLEDB,最差的是ADO. NETManaged Provider +ODBC。
SQL Managed Provider要優(yōu)于ADO.NET Managed Provider, 而從ODBC 和OLEDB的對比來看,OLEDB要優(yōu)于ODBC。
ASP. Net與Access數(shù)據(jù)庫連接:
< %@ Import Namespace =“system. data. oledb”%>
< %@ Import Namespace =“system. data”%>
< %@ Import Namespace =”System. IO“%>
< %Dim dbconn asOledbConnectiondbconn = new OledbConnection (”p rovider = microsoft. jet. oledb. 4.0; data source=“ server.MapPath (“XXX. mdb”))%>
ASP. Net與SQL數(shù)據(jù)庫連接:
< %@ Import Namespace =“system. data. oledb”% >
< %@ Import Namespace =“system. data”% >
< %@ Import Namespace =“System. IO”% >
< % Dim dbconn asOledbConnectiondbconn = new OledbConnection (“ p rovider =sqloledb; server =主機(jī)名稱; initial catalog =數(shù)據(jù)庫名稱; user id =XXX; password =XXX; ” ) % >建立記錄集對象:
< %Dim i as integerDim sql as OledbDataAdap terDim ds as new datasetsql = new OledbDataAdap ter (“ select 3 from contact” , dbconn)sql. fill ( ds, “ guest” ) % >
五、總結(jié)
ASP. NET從現(xiàn)有的ASP結(jié)構(gòu)體系上跨出了一大步, 其整個(gè)構(gòu)造體系使開發(fā)結(jié)構(gòu)化的應(yīng)用程序變?yōu)榭赡?。Web表單設(shè)計(jì)帶來了一種更加直接和易于使用的開發(fā)模式。服務(wù)器控件增加了提供公共功能的能力,從而使擴(kuò)展和加強(qiáng)現(xiàn)有功能變得容易。數(shù)據(jù)捆綁使創(chuàng)建數(shù)據(jù)約束型應(yīng)用程序變得十分簡單。它不但具有許多很棒的新功能,而且還有一個(gè)用于開發(fā)Web應(yīng)用程序的真正框架。使用ASP. NET的組件,可以輕松地實(shí)現(xiàn)對網(wǎng)頁內(nèi)容的動態(tài)控制,根據(jù)不同的瀏覽者,生成不同的頁面內(nèi)容。在ADO. NET的支持下, ASP. NET與遠(yuǎn)程主機(jī)上的數(shù)據(jù)庫的連接與操作變得非常簡單。隨著越來越多的開發(fā)者開始使用這種新技術(shù),給Internet的發(fā)展帶來了一次新的浪潮。
參考文獻(xiàn):
[1]曹建英:ASP.NET的安全性及其實(shí)現(xiàn)的策略[J].溫州師范學(xué)院學(xué)報(bào), 2005,(02)
[2]蘭靜:基于ASP.NET的在線考試系統(tǒng)[J].山西廣播電視大學(xué)學(xué)報(bào), 2005,(02)
[3]李曉念:在ASP.NET環(huán)境下實(shí)現(xiàn)圖像文件上傳及其屬性修改[J].廣西教育學(xué)院學(xué)報(bào), 2004,(03)
[4]黃 悅:基于ASP.NET與XML的網(wǎng)絡(luò)硬盤開發(fā)[J].長沙通信職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2005,(02)