.net网站内容管理系统(孙超,钟珞(武汉理工大学计算机科学与技术学院湖北430070))
优采云 发布时间: 2021-09-11 06:01.net网站内容管理系统(孙超,钟珞(武汉理工大学计算机科学与技术学院湖北430070))
孙超、钟洛
(武汉理工大学计算机科学与技术学院,湖北武汉 430070)
0 简介
随着网络应用的丰富和发展,很多网站往往跟不上海量信息的推导和商业模式的变化。往往需要耗费大量的时间、人力、物力来处理信息的更新和维护;当网站扩容后,整合内外网和分支网站的工作变得更加复杂,甚至网站也需要重新构建;如此下去,用户将永远在高成本低效率的循环中升级。一体化。随着计算机网络和各种信息技术的发展,近年来对内容管理系统的需求逐渐增加。内容管理系统是一个包括硬件和软件的网络化系统,可以有效解决用户网站建设和信息发布的常见问题和需求。 网站的内容管理是该系统的最大优势。流程齐全,功能丰富。可以对稿件进行分类,授权给合法用户进行编辑和管理,无需用户操心那些难懂的SQL语法。
自2004年某高校宣传部开始运行办公自动化系统以来,网络资源迅速丰富,对网络资源的需求也急剧增加。各类新闻发布会资料、宣传教育资料、机构报道记录、部门报道等,需要通过内容管理系统统一管理。
根据某高校宣传部的需要,在Visual Studio2005环境下构建了一个基于.NET2.0框架的内容管理系统。该系统不仅实现了内容管理功能,还支持文件类别动态管理、文件分布式存储、信息复合查询和实时统计、功能丰富的在线编辑。
1 系统设计
1.1 开发应用环境
浏览器/服务器模式,使用Visual Studio.NET 2005开发工具和SQL Server 2000数据库。服务器使用Windows 2003 Advanced Server操作系统,Web服务器使用Internet Information Server(IIS),客户端使用Microsoft Internet Explorer6.0或更高版本的浏览器。
1.2 架构
采用三层体系结构,即表示层、逻辑层和数据层,如图1所示。
<IMG height=195 src="/uploads/_oldpic/200909/20090930104029582.jpg" width=360>
三层体系结构缩短了系统的开发周期,扩展性更强,处理大量在线交易的性能更高。因此,大大提高了系统的安全性和可扩展性,也有利于维护和管理。
1.3功能设计
系统的使用者包括各院系负责人、宣传部成员、系统管理员。
(1)各部门负责人登录后的所有功能设计如下:
①在线编辑文章,选择上传图片附件。提交成功后,返回本部门提交文章列表,查看详细信息,浏览文章,其他部门无法浏览文章;
②上传各种本地文件到服务器,上传完成后会显示文件的详细信息和下载地址;
③查看系统自动生成的各部门提交文件的统计和排序信息,可选择以饼图形式显示;
④查看系统自动生成各部门提交的文件受理统计和排序信息,可选择饼图显示;
⑤浏览部门提交的文章和上传的文件,可以修改失业信息,但接受的信息不能修改。
(2)宣传部成员登录后,所有功能设计如下:
①在线编辑文章,选择上传图片附件。提交成功后,返回宣传部成员提交文章名单,可以查看详细信息,浏览文章;
②上传各种本地文件到服务器,上传完成后会显示文件的详细信息和下载地址;
③ 审核各部门提交的各类信息,审核过程中可以添加、修改、查询、删除相关内容;
④查看系统对各部门提交的文件自动生成统计排序信息,可选择饼图显示;
⑤阅览系统自动生成各部门提交的文件受理统计和排序信息,可选择以饼图形式显示;
⑥浏览宣传部提交的文章并上传文件,可以修改用户提交的各种资料。
(3)所有功能都是管理员登录后设计的,管理员拥有宣传部用户的所有功能权限,还增加了以下权限:
①对宣传部门用户提交的各类信息进行审核,审核过程中可以添加、修改、查询、删除相关内容;
②添加、修改、删除存储卷,动态设置上传路径,设置未审核文件的临时上传路径;
③添加、查询和修改各种用户信息。
1.4数据库设计
在分析系统结构和主要功能后,逐步细化,设计如下数据库结构,如表1所示。
<IMG height=168 src="/uploads/_oldpic/200909/20090930104029184.jpg" width=480>
服务器部分使用存储过程实现对数据的统一操作,执行与数据相关的所有任务,然后将结果传输给客户端。这样就避免了频繁的数据库表操作,提高了操作效率,提高了访问速度,屏蔽了数据库表之间的逻辑关系,使数据库访问成为数据库提供的服务访问。与将数据传输给客户端进行计算的过程相比,使用存储过程的速度有了很大的提高。
2 相关技术细节
2.1 文件管理和分布式存储
宣传部用户只能管理各部门提交的所有文件,而系统管理员可以管理包括宣传部用户提交的所有文件。部门负责人上传的文件,经宣传部用户或系统管理员审核后发布。
由于系统要服务110多个部门和单位,并且支持并发上传文件和发布文章,如果短时间内并发请求过多,会挤压服务器存储空间。 另外,长期的文件堆积会使服务器的磁盘空间不足。
为了解决这些问题,系统实现了文件在同一服务器不同磁盘上或不同服务器之间的分布式存储功能,并设置了主上传路径和临时上传路径。宣传部用户和管理员上传的文件通过主上传路径保存到主存储区。普通用户上传的文件通过临时上传路径保存到一个有足够空间的临时存储区,审核通过后合并到主存储区。两个路径都可以动态设置,文件将被归档和存储在不同的类别中。
2.2 状态持久化
用户登录后,在使用内容管理系统的过程中,会出现很多页面跳转。用户登录时,仅仅验证系统随机生成的验证码和数据库中的用户信息是不够的。信息持久化,否则每次用户跳转页面都要重新验证用户的权限,影响用户体验。
可以使用多种方法在页面间跳转来维护用户信息,比如使用cookies、session、应用程序、查询字符、变量等,这里的解决方法是使用cookie方法来处理页面跳转问题。在页面初始化的过程中,判断客户端是否有用户访问记录,如果有则直接读取信息跳转到正常登录页面,如果没有则在本地添加一个cookie文件来存储用户信息和有效性cookie的期限用户可以自行设置,即可以注销后删除,也可以保存自定义的时间长度。主要代码如下:
<IMG height=113 src="/uploads/_oldpic/200909/20090930104030312.jpg" width=360>
以上方法用于维护页面之间的用户信息,所以在修改或查看文章时,需要使用变量来维护选中的文章信息。获取上一页传递的变量的主要代码如下:
<IMG height=40 src="/uploads/_oldpic/200909/20090930104030817.jpg" width=260>
在系统设计初期,系统采用会话方式来实现传递,因为会话通过将对象存储在Web服务器的内存中,允许在整个用户会话期间维护任何对象,所以任何试图修改会话信息以假装登录是不可能实现的,因此其安全性高于存储在本地客户端的cookie。但是由于系统要服务超过110个院系,并且支持并发上传文件和发布文章,如果短时间内并发产生太多请求,有限的服务器内存资源就会不堪重负。经测试使用session方式时,部分用户需要反复登录才能使用系统。更改cookie方法后,系统正常工作。也就是说,在不升级服务器硬件的情况下,cookies是一种更适合高校内容管理系统的安全认证方式。
2.3查询与统计
内容管理系统提供了强大的查询功能。具有查询权限的用户可以通过多种不同的查询方式查询和访问所有信息、各种提交的材料和用户信息。并实现对数据中收录的单个或多个字符串以及匹配指定模式、日期或时间值的字符串的查询搜索。
统计模块可以看成是查询模块的固定匹配查询方式。需要统计的信息包括各独立部门提交的按数量排序的信息;各独立部门提交的材料按数量排序;各独立部门提交的信息采用按数量排序。
虽然查询和统计功能不同,但都是基于处理数据库数据,所以这里实现的方法主要是使用ADO.NET2.0中的DataSet和DataAdapter类来处理数据。查询函数的关键代码如下:
<IMG height=452 src="/uploads/_oldpic/200909/20090930104031883.jpg" width=400>
各部门提交信息量的统计和排名,关键代码为:
select npart, count(nid) As Total From news Group By npart
各部门上报材料量的统计和排名,关键代码为:
选择 npart, count(nid) As Total From upfile Group By npart
各校、系排序使用的信息量统计,关键代码为:
select npart, count(nwhere) As Total From news Group By npart
实际操作截图如下(各部门提交的新闻文章实时统计如图2,系统信息查询功能如图3)。
<IMG height=169 src="/uploads/_oldpic/200909/20090930104031149.jpg" width=432>
2.4在线编辑功能
内容管理系统的主要功能是允许用户在该平台下发布和分享各类信息。如果只提供一个textbox类型的输入框,显然不能满足信息表达多样性的特点。今后使用该系统的用户需要在提交的内容中体现信息的重点,美化信息的格式,添加图片或其他上传文档等新元素。系统提供的解决方案采用FCKeditor2.5.1,这是一个用Javascript编写的开源在线编辑器,业界公认的比较强大的。调用 FredCK.FCKeditorV2.dll 文件,将此 DLL 引用到站点根目录 bin,并添加引用。最后,将FCKeditor文件夹复制到站点根目录,修改web.config和fckconfig.js,就可以像普通的自定义控件一样使用了。用户输入界面截图如图 4 所示。
<IMG height=388 src="/uploads/_oldpic/200909/20090930104032330.jpg" width=480>
3 结论
这里介绍在Visual Studio.NET 2005环境下搭建的Brower/Server模式的内容管理系统;详细讨论了系统开发过程中的文件管理、状态持久化、复合查询、实时统计等问题。解决方案。目前,该系统已运行一年多,系统运行正常,用户反馈良好,表明该系统具有良好的稳定性和实用性。