自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET數(shù)據(jù)庫編程技術(shù)淺析

開發(fā) 后端
ASP.NET數(shù)據(jù)庫編程是什么呢?ASP.NET數(shù)據(jù)庫編程有什么新技術(shù)么?那么本文就向你介紹這方面的東西。

ASP.NET數(shù)據(jù)庫編程的前言,ASP.NET是一種用于創(chuàng)建基于Web的應(yīng)用程序的編程模型。從本質(zhì)上來說,運行時和.NET Framework類庫集可以用于創(chuàng)建動態(tài)Web頁。它需要在Web服務(wù)器的環(huán)境中運行,例如Microsoft Internet Information Server(Microsoft互聯(lián)網(wǎng)信息服務(wù)器,IIS),并且根據(jù)服務(wù)瀏覽器請求指示在服務(wù)器上執(zhí)行程序。與直接由Web服務(wù)器提供的靜態(tài)HTML不同的是,ASP.NET頁面實際上是在服務(wù)器上執(zhí)行以后再產(chǎn)生結(jié)果的。頁面的最后生成也許是由許多不同的指令和/或數(shù)據(jù)源構(gòu)造的。

ASP.NET數(shù)據(jù)庫編程的支持,ASP.NET頁面以.aspx擴展名存儲。頁面由程序員將文本、標(biāo)記(例如HTML)以及ASP.NET特定服務(wù)器標(biāo)記和腳本組合在一起,然后存儲在Web服務(wù)器上??梢詫⒋鎯蟮腁SP.NET頁面看成是一套描述如何創(chuàng)建一個HTML頁面的指令。當(dāng)該頁面被請求瀏覽時,服務(wù)器端程序?qū)眉儤?biāo)記來創(chuàng)建一個客戶端瀏覽器可以讀懂并能呈現(xiàn)(render)的頁面。因為呈現(xiàn)后的輸出是純標(biāo)記,所以任何瀏覽器都能夠讀懂;所有的動態(tài)過程都發(fā)生在Web服務(wù)器端。ASP.NET特定服務(wù)器標(biāo)記非常強大,例如,它可以對用戶的動作作出反應(yīng),連接至數(shù)據(jù)存儲以及自動創(chuàng)建非常復(fù)雜的HTML結(jié)構(gòu)。

ASP.NET數(shù)據(jù)庫編程的原理,正像前面提到的那樣,ASP.NET只是.NET Framework的一部分,所以 ASP.NET頁面可以利用這個框架提供的所有服務(wù),包括連網(wǎng)、數(shù)據(jù)訪問、安全以及更多其他服務(wù)。因為ASP.NET可以使用所有這些服務(wù),所以相比以前,能夠創(chuàng)建更加豐富的Web應(yīng)用程序。只需花少量的時間來構(gòu)建所有應(yīng)用程序所需的構(gòu)建塊,而將大多數(shù)時間用在應(yīng)用程序獨有的特殊邏輯上。

ASP.NET還在Web編程中引入了一些獨特的新技術(shù),可以在典型的動態(tài)服務(wù)器頁面(Active Server Pages,ASP)上極大地改善開發(fā)模式:

· 語言獨立性——因為ASP.NET是.NET Framework的一部分,所以可以使用您自己選擇的語言來構(gòu)建ASP.NET應(yīng)用程序,例如C#、VB或J#。而典型的ASP則僅限于JScript或者VBScript頁面。

· 編譯而不是解釋——與典型的ASP在每一次頁面請求時都解釋編程結(jié)構(gòu)不同,ASP.NET在服務(wù)器端動態(tài)地將頁面編譯成可以運行得非??斓谋緳C編程指令。可以很明顯地看到典型的ASP頁面的性能與相同ASP.NET頁面的性能之間相差的數(shù)量級別。

· 事件驅(qū)動編程模式——在典型的ASP中,頁面總是以自頂向下的線性方式執(zhí)行,并且HTML標(biāo)記常常與程序指令混合在一起。任何一個有一定ASP經(jīng)驗的人都知道這樣會使得頁面難以閱讀,甚至更加難以維護。ASP.NET引入了事件驅(qū)動模型,這個模型允許您將代碼與標(biāo)記內(nèi)容分離,將代碼并入處理專門任務(wù)的有意義的單元中,例如響應(yīng)客戶端的按鈕單擊動作。這個類似VB的事件模型極大地提高了頁面的可讀性和可維護性。

· 服務(wù)器控件——典型的ASP需要動態(tài)地將HTML片斷代碼接合在一起呈現(xiàn),這樣做的結(jié)果就是在應(yīng)用程序中一遍又一遍地編寫相同的代碼(您需要多少次才能從數(shù)據(jù)庫查詢中構(gòu)建一張表格)。ASP.NET帶給Web編程的一個最大的好處就是能夠?qū)⒐驳某尸F(xiàn)和行為封裝成服務(wù)器控件(server control),可以在應(yīng)用程序中很方便地重復(fù)使用。就像HTML標(biāo)記一樣,服務(wù)器控件以聲明的形式創(chuàng)建,但是表現(xiàn)為一個位于服務(wù)器端的可編程對象,它可以與代碼進行交互并輸出定制的動態(tài)HTML呈現(xiàn)。ASP.NET包含了大約80多個服務(wù)器控件,這些控件封裝了從標(biāo)準(zhǔn)表單元素到復(fù)雜控件(如網(wǎng)格和菜單)的所有內(nèi)容。

· 控件設(shè)計時間的改善(當(dāng)使用Visual Web Developer時)—— 開發(fā)人員通過使用設(shè)計時間界面可以減少花費在開發(fā)復(fù)雜頁面上的時間,這些界面包括敏捷任務(wù)面板、標(biāo)簽級導(dǎo)航欄和可以設(shè)置控件屬性的向?qū)А?ASP.NET 2.0

ASP.NET的第一個版本(1.0和1.1)在2001年至2003年間迅速風(fēng)靡了Microsoft的開發(fā)陣營。程序人員很快便感覺到他們通過使用強大和靈活的.NET Framework可以大大減少編碼時間,而且CIO們也看到當(dāng)程序員花在解決客戶代碼的疑難問題上的時間減少時,他們就可以將更多的資源投入到更高級的IT結(jié)構(gòu)的改善上。ASP.NET確實是一個里程碑式的版本,它簡化了開發(fā)人員的工作。

但是,就在第一個版本發(fā)布之前,Microsoft的ASP.NET小組就已經(jīng)在為開發(fā)ASP.NET 2.0而工作了。他們以下面雄心勃勃的目標(biāo)來開始他們的工作:

· 使創(chuàng)建一個典型的Web應(yīng)用程序所需代碼行數(shù)減少70%。

· 提供一套可擴展的應(yīng)用程序服務(wù),用來為通用應(yīng)用程序任務(wù)提供構(gòu)建塊,例如成員、角色、個人化以及導(dǎo)航等。

· 創(chuàng)建一系列基于任務(wù)的服務(wù)器控件,這些控件可以調(diào)節(jié)上述服務(wù),交付完全、可定制的用戶接口(UI),以最小的代碼量來展示這些服務(wù)。

· 當(dāng)與.NET Framework協(xié)同工作提供頁面服務(wù)時,改善IIS的性能。

· 提供管理功能,以便加強ASP.NET服務(wù)器的部署、管理和運行。

· 改善宿主公司所用的工具,以便可以支持多站點并能夠?qū)㈤_發(fā)人員的項目遷移至公共部署環(huán)境。

· 讓ASP.NET的幾乎所有特性都能夠方便地擴展或者用定制的高級任務(wù)的執(zhí)行替換。 在這里,我們有必要再來細(xì)細(xì)地回想一下第一個目標(biāo),也就是使編寫一個動態(tài)Web應(yīng)用程序所需的代碼量減少70%。這有可能嗎?Microsoft的ASP.NET小組已經(jīng)仔細(xì)考慮過各種以定制代碼執(zhí)行的通用任務(wù),并且專門制定了將這些任務(wù)封裝進構(gòu)建塊(特別是服務(wù)器控件)的方式,這樣就能夠自動地完成這些任務(wù)了。例如,大多數(shù)Web應(yīng)用程序都需要安全或者導(dǎo)航或者個性化服務(wù)來為用戶提供定制的體驗。在ASP.NET 2.0中,這些任務(wù)是通過一系列可配置的應(yīng)用程序服務(wù),以及與這些應(yīng)用程序服務(wù)進行對話的服務(wù)器控件來實現(xiàn)的,這樣可以極大地減少實施這些通用服務(wù)所需的應(yīng)用程序的代碼量。但是,在所有這些通用任務(wù)當(dāng)中,有一個任務(wù)是絕對獨立于其他應(yīng)用程序的,這就是數(shù)據(jù)訪問服務(wù)。數(shù)據(jù)是驅(qū)動所有動態(tài)Web應(yīng)用程序的公用線程,所以毫不奇怪,ASP.NET小組為了減少代碼量和在ASP.NET 2.0的應(yīng)用程序中執(zhí)行數(shù)據(jù)訪問所需的概念,而制訂了一些大膽的目標(biāo):

· 在ASP.NET中可以通過聲明的(無代碼)方式來定義一個數(shù)據(jù)源。

· 可以通過聲明的(無代碼)方式用UI控件顯示數(shù)據(jù),無需在頁面的執(zhí)行生存期中的特定時間進行顯式的數(shù)據(jù)綁定。

· 可以通過聲明的(無代碼)方式執(zhí)行通用數(shù)據(jù)任務(wù),例如排序、分頁、過濾、更新、插入以及刪除數(shù)據(jù)。

· 可以使用多種UI控件來顯示數(shù)據(jù),包括靈活的網(wǎng)格/詳細(xì)控件,該控件既可以顯示又可以操作數(shù)據(jù)。

· 為創(chuàng)建定制的數(shù)據(jù)源,啟用可擴展的模型來支持新的數(shù)據(jù)類型。

ASP.NET數(shù)據(jù)庫編程常用的控件,ASP.NET 2.0具有一些程序員可以使用的特定的服務(wù)器控件,用于在頁面上添加數(shù)據(jù)交互。這些專門的數(shù)據(jù)控件分為兩組:數(shù)據(jù)源控件和數(shù)據(jù)綁定控件。數(shù)據(jù)源控件創(chuàng)建與數(shù)據(jù)庫的鏈接。數(shù)據(jù)綁定控件則從數(shù)據(jù)源控件獲取信息,并在頁面上創(chuàng)建呈現(xiàn)。這種簡單的雙控件模式可用于多種情況。對于多種數(shù)據(jù)庫類型,甚至是非關(guān)系型數(shù)據(jù)源,都有相應(yīng)的數(shù)據(jù)源控件。同樣地,有多種數(shù)據(jù)綁定控件可用來在頁面上生成表格、樹型、列表以及其他數(shù)據(jù)格式。在前面我們已對ASP.NET進行了介紹,同時講述了ASP.NET的一些理論,現(xiàn)在開始介紹本書剩余部分的細(xì)節(jié)內(nèi)容:數(shù)據(jù)源控件和數(shù)據(jù)綁定控件的使用。數(shù)據(jù)源控件以及附帶產(chǎn)品包括如下條目:

· SqlDataSource控件,用于與Microsoft SQL Server和其他數(shù)據(jù)庫進行連接

· AccessDataSource控件,用于與MDB文件連接

· ObjectDataSource控件,用于與中間層對象連接

· XMLDataSource控件,用于XML文件或者數(shù)據(jù)流

· SiteMapDataSource控件,用于以ASP.NET 2.0站點地圖格式存儲的XML文件額外的控件已經(jīng)由第三方開發(fā)。

在數(shù)據(jù)綁定控件中,有很多與ASP.NET 1.x中的相似,有一些則是ASP.NET 2.0全新開發(fā)的:

· ListBox、DropDownList和BulletedList、CheckBoxList、RadioButtonList

· AdRotator是實現(xiàn)舊功能的數(shù)據(jù)綁定控件

· DataList和Repeater以靈活的布局方式提供數(shù)據(jù)

· DataGrid(與ASP.NET 1.x中的相同)和GridView(第2個版本中的新控件)用于表格數(shù)據(jù)

· DetailsView和FormView以輕松的導(dǎo)航提供記錄的信息

· TreeView用于顯示分級數(shù)據(jù)

總之,數(shù)據(jù)源控件和數(shù)據(jù)綁定控件將會是本書重點介紹的對象。

在.NET Framework 2.0公開beta版本發(fā)布之前,少數(shù)的幾個程序組就已經(jīng)被允許查看工作代碼,并希望盡快獲得他們的反饋。結(jié)果,所有的反應(yīng)只有一個,那就是熱烈,“太好了!”然后就是“什么時候我才能用ASP.NET 2.0替換我的ASP.NET 1.x應(yīng)用程序?”?,F(xiàn)在beta發(fā)布版本已經(jīng)在手邊,我們無需再等待了。

ASP.NET數(shù)據(jù)庫編程相關(guān)的信息就向你介紹到這里,希望對你了解ASP.NET數(shù)據(jù)庫編程有所幫助。

【編輯推薦】

  1. ASP.NET應(yīng)用程序資源訪問安全模型淺析
  2. ASP.NET虛擬主機在顯示文件時的隱患淺析
  3. ASP.NET主機資源控制經(jīng)驗
  4. ASP.NET中彈出窗口技術(shù)淺析
  5. ASP.NET中彈出窗口常見的封殺方式淺談
責(zé)任編輯:仲衡 來源: IT168
相關(guān)推薦

2009-07-31 09:57:47

ASP.NET數(shù)據(jù)庫緩

2009-07-28 17:36:21

ASP.NET數(shù)據(jù)庫連

2009-07-29 09:12:31

ASP.NET數(shù)據(jù)庫連

2009-02-23 15:20:03

SQL Server數(shù)據(jù)庫ASP.NET

2009-07-24 18:02:46

ASP.NET編程

2009-08-03 13:38:18

ASP.NET編程模型

2009-08-10 15:42:33

ASP.NET Che

2009-08-10 16:07:44

ASP.NET Lin

2009-07-29 09:33:14

ASP.NET數(shù)據(jù)庫連

2009-08-05 15:01:04

ASP.NET應(yīng)用Vi

2009-08-05 09:38:28

SQL Server數(shù)

2009-08-03 13:12:34

ASP.NET編程模型

2009-07-27 13:34:15

ASP.NET編程

2009-08-03 18:35:51

ASP.NET數(shù)據(jù)緩存

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET優(yōu)點

2009-08-03 18:00:00

ASP.NET服務(wù)器控

2009-08-03 11:21:47

ASP.NET編程模型
點贊
收藏

51CTO技術(shù)棧公眾號