明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP.NET2.0+SQL Server2005構(gòu)建多層應(yīng)用

[摘要]隨著.NET 2.0的發(fā)布,將會(huì)使得使用ASP.NET 2.0來構(gòu)建的Web應(yīng)用越來越容易。使用ASP.NET 2.0和SQL Server 2005,將會(huì)比ASP.NET 1.1更方便地構(gòu)建多層體系架構(gòu)的web應(yīng)用。本文,將使用ASP.NET 2.0和SQL Server 2005 (.net使...
隨著.NET 2.0的發(fā)布,將會(huì)使得使用ASP.NET 2.0來構(gòu)建的Web應(yīng)用越來越容易。使用ASP.NET 2.0和SQL Server 2005,將會(huì)比ASP.NET 1.1更方便地構(gòu)建多層體系架構(gòu)的web應(yīng)用。本文,將使用ASP.NET 2.0和SQL Server 2005 (.net使用Visual Studio 2005 beta 2,SQL Server 2005使用april ctp版本)來構(gòu)建一個(gè)簡(jiǎn)單的多層應(yīng)用的例子,并且說明其中在.NET 2.0和SQL Server 2005中的一些新的特性,比如objectdatasource,master pages,clr 存儲(chǔ)過程,tableadapter向?qū)У取? 

多層應(yīng)用簡(jiǎn)介

  什么是多層架構(gòu)的應(yīng)用呢?傳統(tǒng)上的CLR模式便是兩層應(yīng)用的典型例子,也就是客戶機(jī)/服務(wù)器模式。這種模式只是兩層架構(gòu),客戶機(jī)發(fā)出請(qǐng)求給服務(wù)器,服務(wù)器將處理大量來自客戶端的請(qǐng)求,經(jīng)過業(yè)務(wù)邏輯運(yùn)算和處理后,再返回給客戶端。兩層架構(gòu)的模式顯然不能滿足現(xiàn)代以互聯(lián)網(wǎng)為趨勢(shì)的企業(yè)計(jì)算處理要求,因?yàn)槠洳渴穑?fù)載均衡等處理十分麻煩,所以就有了三層架構(gòu)乃至于多層架構(gòu)便出現(xiàn)了。多層架構(gòu)的核心思想是,將整個(gè)業(yè)務(wù)應(yīng)用劃分為表示層-業(yè)務(wù)層―數(shù)據(jù)訪問層-數(shù)據(jù)庫(kù),明確地將客戶端的表示層、業(yè)務(wù)邏輯訪問、和數(shù)據(jù)訪問及數(shù)據(jù)庫(kù)訪問劃分出來,十分有利于系統(tǒng)的開發(fā),維護(hù)、部署和擴(kuò)展。下面我們以典型的一個(gè)例子來說明,如何使用ASP.NET 2.0和SQL Server 2005來構(gòu)建一個(gè)多層應(yīng)用。

  我們的這個(gè)例子十分簡(jiǎn)單,但足以能夠說明問題。我們的應(yīng)用只有兩個(gè)頁(yè)面,第一個(gè)頁(yè)面將調(diào)用SQL Server 2005數(shù)據(jù)庫(kù)中的pubs數(shù)據(jù)庫(kù)的author表,列出所有的作者,然后點(diǎn)選每個(gè)作者的鏈接,將顯示該作者寫過哪些書籍。

  下面的圖,說明了在ASP.NET 2.0架構(gòu)下,我們的這個(gè)多層應(yīng)用的架構(gòu)圖:


   從上圖可以看出,我們將以這樣的方式來構(gòu)建這個(gè)多層應(yīng)用。首先,從圖的最上方開始看,藍(lán)色部分的是表示層,就是我們web應(yīng)用的外觀顯示,該層直接和用戶打交道,比如處理輸入輸出等,在ASP.NET 2.0中,我們可以使用master page模版技術(shù),以構(gòu)建一個(gè)外觀風(fēng)格保持一致的頁(yè)面(這在下文中會(huì)提到)。接下來是業(yè)務(wù)邏輯層,一般在該層中會(huì)直接處理業(yè)務(wù)邏輯及相關(guān)計(jì)算等,而在ASP.NET 2.0中,我們可以很方便地通過使用objectdatasource控件來處理業(yè)務(wù)邏輯層。

   業(yè)務(wù)邏輯層再接著和數(shù)據(jù)訪問層(data access layer)打交道。數(shù)據(jù)訪問層的作用是,將所有對(duì)數(shù)據(jù)庫(kù)操作的有關(guān)過程業(yè)務(wù)分離出來,當(dāng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)等發(fā)生改變時(shí),只需要對(duì)數(shù)據(jù)訪問層的代碼進(jìn)行修改就可以了,不需要再修改其他的地方,這樣會(huì)方便和不同的數(shù)據(jù)庫(kù)進(jìn)行打交道。在ASP.NET 2.0中,通過使用TableAdapter數(shù)據(jù)向?qū)Р僮,可以十分快速地從已有的?shù)據(jù)庫(kù)中,生成數(shù)據(jù)訪問層的代碼,而基本上不需要寫什么代碼。

   最后,我們通過使用SQL Server 2005 新特性:clr stored procedure(clr 存儲(chǔ)過程),來創(chuàng)建存儲(chǔ)過程。在SQL Server 2005 中,你可以使用自己熟悉的.NET語(yǔ)言來創(chuàng)建存儲(chǔ)過程了。


[1] [2] [3] [4]  下一頁(yè)