ASP.NET的网站新闻管理系统设计与实现
【关键词】ASP.NET ADO.NET 新闻 管理 数据库
随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中新闻管理系统是构成企业网站的一个重要组成部分,它担负着双层作用,一方面可以用来动态发布有关新产品或新开发项目,另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠的工程项目、产品和服务,从而吸引顾客,扩大顾客群。
传统的网站新闻管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。二是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。但是由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了ASP.NET技术的系统性能上有了很大的改善,其主要表现在以下几方面:
1.由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。这使得在多次访问时速度有了极大的提升。
2.由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系。
3.ASP.NET支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会温和地转换到新的版本。
4.ASP.NET采取"code-behind"方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。
1系统的开发原理
1.1 基于ASP.NET技术的系统结构模型
ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,如图1所示。
图1 ASP.NET的系统结构模型
UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。
业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web服务和组件服务组成。其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。
数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
1.2 ADO.NET访问数据库的原理
与数据库相连,ADO.NET提供了如下3种方式:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连。3种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。对于相连数据库的数据处理,也有2种方式,即一种是通过DataSet来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader方式)。
传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。ASP.NET采取了断开连接方式的数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。
ADO.NET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。
2 系统的功能设计
2.1 系统的功能结构
该新闻管理系统可以在Windows 2000 Server操作系统平台上运行,Web服务器为IIS,数据库服务器为Microsoft SQL Server2000,开发工具采用的Microsoft Visual Studio .NET和DreamWeaver。图2给出系统的功能结构图。其工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询新闻,注册用户除了可以完成普通用户的操作外,还可以进入新闻管理模块进行新闻录入、修改和删除的操作。注册用户除系统管理员外只能对自己录入的新闻进行删改操作。
2.2 系统的功能特点
(1)操作简单、界面友好:完全控件式的页面布局,使得新闻的录入工作更简便;许多选项包括新闻类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
(2)即时可见:对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。
图2 系统功能结构图
(3)