林華文露
(湖南科技學院 計算機與通信工程系, 湖南 永州 425100)
Microsoft.NET平臺的發展,在應用程序開發領域中開創了一個新時代,它將推動下一代 Internet的進步。作為Microsoft.NET平臺的一部分,ASP.NET是一個革命性的編程框架,它實現了企業級Web應用程序的快速開發,并提供了最簡便、最具有擴展能力的方式來開發、部署和運行,可以將任何瀏覽器或設備作為目標的Web應用程序。尤其是A SP.NET2.0的推出,使得一個典型的Web應用程序的編碼工作量減少了70%,甚至在一些簡單的程序中無需編寫任何代碼就可以實現所需要的功能。這是因為ASP.NET2.0將常用的Web任務封裝到應用程序服務控件中,可以像使用標準控件一樣使用這些功能。因此,利用ASP.NET進行網站開發,尤其是使用ASP.NET2.0提供的新功能,對廣大網站開發者而言,無疑是一件令人歡欣鼓舞的事情。
網站管理工具是ASP.NET2.0提供的一項新功能,利用這項新功能,網站管理人員可以使用基于Web的界面管理站點,方便了程序員或系統管理員對網站進行維護和管理。但在后臺數據庫的應用及成員管理功能方面存在一些不足。本文對網站管理工具的不足作進一步的分析,并提出相應的改進方法。
ASP.NET 網站管理工具功能的架構如圖1所示:

圖1.SP.NET 網站管理工具功能
ASP.NET Configuration網站管理工具提供了三大功能:Provider設置,Security安全管理,Application應用程序管理。這些功能設置都記錄在 Web.Config或 Machine.Config中,用XML格式設置。XML固然很方便,但對于剛入門的用戶而言并不容易使用。因此ASP.NET提供了網站管理工具,方便用戶進行這些設置。
(1)提供程序Provider設置
從上圖中可以發現會員管理、角色管理,這些數據并不是直接存儲在數據庫中,而是通過數據提供程序獲取。當前的數據提供程序包括:
SQL Server Provider:存儲數據庫在SQL Server數據庫中,適用于公司網頁或數據量大的網頁。
Custom Provider: 例如公司已有的用戶數據庫,可以自行編寫Provider來訪問用戶數據。
(2)安全管理
ASP.NET 2.0 提供了安全管理。包括以下功能:
會員管理:首先決定登錄用戶的“身份認證”,ASP.NET 2.0提供了會員管理功能,包括創建用戶賬號,管理用戶賬號,登錄畫面等。
角色管理:當用戶登錄后,必須確認用戶屬于什么角色。
網頁的訪問權限管理:最后必須決定每個角色或用戶可以訪問網頁的權限。
(3)應用程序管理
應用程序管理共包括3大部分:
網頁共用信息:創建網站時,一定有許多網站的共用信息。例如,數據庫的連接等,這些數據都存在 Web.Config中。
SMTP設置:設置網頁e-mail時的SMTP設置,這些設置都會保存在Web.Config.中。
Debug調試設置:設置網頁的調試設置,這些設置保存在Web.Config.中。
2.1網站管理工具的不足
許多編程人員在利用ASP.NET2.0設計網站后臺管理模塊時,因為該管理工具的局限性,而放棄了對該工具的使用。存在的不足主要表現在以下幾個方面:
1、系統默認是在SQL Server 2005中實現的,所有功能依賴于系統自動建立的數據庫實例,而與開發者應用系統的數據庫(如SQL Server 2000)分屬于兩個數據庫,甚至是兩個數據庫系統,這給應用系統的部署帶來了很大不便。
2、成員管理的功能默認對用戶的密碼使用潛規則,而且一定要提供郵件才能注冊,這樣,用戶注冊時覺得繁瑣,而在一般的應用系統中可能要求并不那么嚴格,因此有必要予以簡化。
3、在一般的應用系統中,可能預先知道有大量的用戶列表,如何導入已有的用戶作為合法的注冊用戶,也有待編程實現。
2.2 網站管理工具的改進
2.2.1 數據庫方面的改進解決方法有兩種:
一是將 SQL Server 2000轉換為 SQL Server 2005 Express。
步驟1. 打開SQL Server 服務管理器
步驟2. 在SQL Server服務管理器對話框中停止SQL Server服務
步驟3. 復制SQL Server 2000數據庫文件步驟4. 將數據庫文件復制到網站文件夾
步驟5. 在“服務器資源管理器”窗口創建連接
步驟6. 在添加連接對話框中單擊“更改”按鈕選擇數據源,選擇數據庫文件
步驟7. 在“添加”連接對話框設置數據庫文件,選擇驗證方式,至此已完成
二是在網站管理工具中設置集中管理安全管理提供程序。
步驟1.運行VisualStudio2008命令提示步驟2.運行aspnet_regsql.exe
步驟3.ASP.NET SQL Server安裝向導
步驟4.ASP.NET SQL Server配置向導,選中為應用程序服務配置 SQL Server步驟5.輸入數據庫連接信息,設置安全管理數據庫名稱步驟6.創建安全管理數據庫后設置啟用所有的Provider功能
步驟7.將數據庫添加到Machine.config Provider中登記完成這些操作后就可以利用網站管理工具對成員資格,角色管理等進行操作了。
2.2.2成員管理方面的改進
修改Web.Config中Provider屬性:

2.2.3導入已存在用戶列表
導入已有的用戶作為合法的注冊用戶大致分兩種情況:(一) 在SQL Server數據庫之間進行數據導入導出(1)使用SELECT INTO導入數據
根據SELECT后的字段和INTO后的表名建立空表:將SELECT查出的數據插入到這個空表中。在使用 SELECT INTO語句時,INTO后跟的表必須在數據庫中不存在,否則會出錯,下面是一個使用SELECT INTO的例子。
假設有一個表table1,字段為f1(int)、f2(varchar(50))。SELECT * INTO table2 FROM table1 ,這條SQL語句在建立table2表后,將table1的數據全部插入到table1中的,還可以將*改為f1或f2,以便向適當的字段中插入數據。
SELECT INTO不僅可以在同一個數據中建立表,也可以在不同的SQL Server數據庫中建立表。
如:
USE db1 SELECT * INTO db2.dbo.table2 FROM table1
(2)使用INSERTINTO導入數據
SELECT INTO只能將數據復制到一個空表中,而INSERT INTO可以將一個表或視圖中的數據插入到另外一個表中。例如:
INSERT INTO table1 SELECT * FROM table2 或 INSER T INTO db2.dbo.table1 SELECT * FROM table2
(二)從Excel文件中,導入數據到SQL數據庫中,直接用下面的語句:
如果接受數據導入的表已經存在
insert into表select* from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATAB ASE=c: est.xls',sheet1$)
如果導入數據并生成表
select*into表from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c: es t.xls',sheet1$)
本文分析了ASP.NET2.0網站管理工具的不足,并給出了詳細的改進方法。ASP.NET2.0網站管理工具在對網站后臺數據庫管理方面還有諸多值得稱道的應用和技巧,為網站開發人員提供了許多便利,需要在實際應用中進一步體會并根據需求加以進一步改進。
[1]高猛,張楚雄. ASP.NET 2.0入門經典[M].北京:清華大學出版社.2006,5.
[2]王承君,李曉波,王兆紅.Web數據庫技術應用教程[M].北京:中國水利水電出版社.2005,8.
[3]宮繼兵.ASP.NET 2.0 Web數據庫開發教程[M].北京:機械工業出版社.2009,1.
[4]王承君,李曉波,王兆紅.Web數據庫技術應用教程[M].北京:中國水利水電出版社.2005,8.
[5]李長林. ASP.NET+SQL Server動態網站開發[M].北京:清華大學出版社.2006,7.