林华文露
(湖南科技学院 计算机与通信工程系, 湖南 永州 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.