当前位置:
文档之家› 基于ASP_NET的网上论坛系统的设计与实现
基于ASP_NET的网上论坛系统的设计与实现
1 引言
随着 Internet 技术的飞速发展,论坛随之产生,已经成为网络 上不可缺少的交流方式之一,深受网民的喜爱。“网上论坛”是 In- ternet 上的一种信息服务系统,它提供一块公共电子白板,每个用 户都可以在上面书写,可发布信息或提出看法,可以让来自世界 各个角落的用户针对某个主题进行讨论,如此便可以达到集思广 益的效果。
public class LoginC { //论坛验证登陆 public bool checkLogin(string LoginName,string PWD,string str- Conn) {string sql = "select count(*) as fintLoginCount from T_Operator where fchrLoginName = ' " + LoginName +"' and fchrPassWord = ' " + PWD + "' "; //定义查询的字符串 SqlConnection oConn = new SqlConnection(strConn); //新建一 个连接 oConn.Open(); //连接数据库 SqlCommand oCommand = new SqlCommand (sql,oConn); //新 建一个命令对象 SqlDataReader oReader = oCommand.ExecuteReader(); //创建 DataReader 对象,执行 sql 命令 while (oReader.Read()) //读取查询的结果 { if(oReader.GetInt32(0)==0) { return false; //验证失败}} oReader.Close(); //关闭 DataReader 对象 oConn.Close(); //关闭数据库连接 return true; //验证成功}} 代码中定义了一个 LoginC 类,在其中添加一个 checkLogin 函 数作为用户登录的验证方法,注册用户和管理员登录论坛都可以
关键词:网上论坛;ASP.NET;SQL SER VER 2000;数据库;ADO.NET;连接池 中图分类号:TP 311 文献标识码:A 文章编号:1009- 3044(2006)32- 0070- 02
Des ign and Implementation of BBS S ys tem Bas ed on AS P .NET TANG Wei
(Information Science School, Nanjing Audit University,Nanjing 210029,China) Abs tract: With the development of Internet technology, the BBS has become a necessary communicating mode in the network. System design object, system functions and database design schemes are introduced firstly, and then a statement of the realizing methods with the devel- oping environment of ASP.NET is maked. The BBS system developed by ASP.NET realizes the dynamic management, and makes the infor- mation' s management more timely and efficiently, so the users can look through the pages conveniently and address ideas according to related questions. Key words : BBS; ASP.NET; SQL SER VER 2000; Database; ADO.NET; Connection Pool
3.4 程序性能的优化 作为一个 ASP.NET 开发者,网站的性能是至关重要的,没有 良好的性能就无法满足数以百万计用户访问的庞大要求。在本系
统设计中主要使用了如下的代码优化方法。
3.4.1 代码复用 在系统中,将重复使用的属性和方法定义成类或组件,如上
述的 connect_strings 用户自定义控件就是一个组件。在.NET 平台 的组件层中,组件是以 Assemblies 的形式创建的,它是一段可调 用的程序集;使用组件时,需要做的仅仅是添加对那个程序集的
2 系统设计
2.1 系统设计目标 (1)三层结构设计:本系统的程序逻辑结构分为用户界面层、 业务逻辑处理层和数据存储层。三层在实际的物理结构上也是独 立的,用户界面与业务逻辑分离,系统的安全性、可维护性、重用 性和扩展性都大大提高。 (2)面向对象设计:系统中将文章、用户信息等都封装成相应 的类,从而再次提高了对数据库操作的安全性和程序的可扩展 性。 (3)人性化设计:系统界面设计充分考虑到用户上网习惯,从 简单实用出发,易于操作。 2.2 系统功能模块设计 将系统功能分为前台和后台两大类,设有注册用户和管理员 两种用户权限,分析该网上论坛系统主要包括的功能如图 1 所 示。
引用。
类是 C# 语言实现面向对象程序设计的基础,它是封装的基 本单元,把对象、属性、和方法这些类成员封装在一起构成一个有
机整体。需要时我们可以直接调用“类”,本系统定义了一个用户
类“LoginC”,存放在 Code 目录下面的 Forum_BusObj.cs 文件中,用 于验证用户登录等操作,下面列举了验证登陆的函数代码。
收稿日期:2006- 09- 01 作者简介:唐伟(1973- ),男,江苏阜宁人,讲师,硕士,主要研究方向为软件工程与数据库技术。
70 电脑知识与技术
Байду номын сангаас
本栏目责任编辑:冯蕾
网络通讯与安全
系,就可以开始设计每个表的具体结构。
3 系统的实现
3.1 开发环境 (1)操作系统:Windows 2000 Server 及以上服务器版本; (2)数据库管理系统:SQL Server 2000; (3)Web 服务器:Internet Information Services(IIS); (4)编程工具:编程软件为 Visual Studio.net 2003,使用 ASP. NET 作为网络编程开发框架,编程语言选用 C#。 3.2 .NET 的数据访问技术 在设计中应用了 ADO.NET 数据访问技术。数据库访问一直 都是数据库系统开发的一个重要方面,ADO.NET 是微软.NET 框 架中的一种新的数据访问技术,它能用于访问关系型数据库系 统,如 SQL Server 2000,及很多其他已经配备了 OLE DB 提供程 序的数据源。以前,数据处理主要依赖于基于连接的双层模型。当 数据处理越来越多地使用多层结构时,程序员正逐渐向断开方式 转换,以便为应用程序提供更佳的可缩放性。 ADO.NET 提供两个核心组件:DataSet 和 Data Provider,通过 ADO.NET 可以从数据操作中分解出数据访问。ADO.NET 两种组 件问的关系如图 3 所示。
ASP.NET 是微软公司的 ASP 和.NET Framework 这两项核心 技术的结合,功能强大、技术非常灵活,适合于编写动态 Web 页 面。因此,本文选择 ASP.NET 技术来构建论坛系统,采用 SQL Server 2000 数据库管理系统作为数据库服务器,客户端通过 IE 或其它 WWW 浏览器来使用系统所提供的所有功能。
图 1 系统功能模块图
之所以把属于管理员权限的管理帖子模块归于前台,是因为 考虑到对于一个论坛系统而言,帖子是最主要的。为了方便管理, 管理员需要一边浏览查看一边进行管理,管理时需要了解帖子的 详细内容,以及相关回帖信息,因此将帖子的管理界面融合在前 台的浏览界面中。其他的模块,则是完全根据用户权限进行划分 的。
图 2 系统 E- R 图 2.3 数据库设计 数据库在一个信息管理系统中占有非常重要的地位,数据库 结构设计的好坏将直接影响应用系统的效率及实现的效果,合理 的数据库结构设计可以提高数据存储的效率,保证数据的完整性 和一致性。 (1) 数据库概念结构设计。考虑到论坛中各个对象的相互关 系,帖子属于版块,回复帖从属于主题帖,帖子的作者属于用户, 因此版块、主题帖、回复帖是一层层的从属依赖关系,帖子的作者 必定是论坛的用户,帖子不能脱离版块、用户而单独存在。系统的 E- R 图主要设计如图 2 所示。 (2) 数据库逻辑结构设计。确定了论坛有哪些数据表及其关
通过调用类的 checkLogin 方法来实现。该方法的编程思想是:连 接到数据库后,新建一个 DataReader 对象 oReader,通过该对象执 行查询命令,具体是在 T_Operator 中查询符合所输用户名和密码 的记录,然后用 oReader 对象读取查询的结果,如果读取的内容为 空,则当前为非法用户,反之为合法用户。
网络通讯与安全
本栏目责任编辑:冯蕾
基于 AS P.NET 的网上论坛系统的设计与实现
唐伟 (南京审计学院 信息科学学院,江苏 南京 210029)
摘要:随着 Internet 技术的发展,论坛已成为网络上不可缺少的交流方式之一。在介绍了系统的设计目标、功能和数据库设计方案之 后,结合 ASP.NET 的开发环境阐述了系统的实现方法。利用 ASP.NET 技术开发的网上论坛系统,实现了网上论坛的动态管理,使得对 信息的管理更加及时、高效,方便用户及时上网浏览有用信息,发表自己对相关问题的看法。
图 3 ADO.NET 结构示意图 3.3 数据库连接 第一步,创建一个 C#“ASP.NET Web 应用程序”项目,取名为 “sampleForum”。 第二步,添加 Web 自定义用户控件,具体步骤如下: (1)解决方案资源管理器中建立目录 SetData; (2)在目录中单击鼠标右键,从弹出的快捷菜单中选择[添加] 命令; (3)选择[添加 Web 用户控件]命令; (4)输入控件文件名 connect_strings.ascx,用鼠标右键选择[查 看代码]命令进行编码,主要代码如下: public class connect_strings:System.Web.UI.UserControl { public string SqlConnectionString { get { return "Server=BBS;DataBase=DBBS;Pwd=123;Uid=tw; Max Pool Size=50;Min Pool Size=5"; }}} 在用户自定义控件当中定义了 SqlConnectionString 属性,对 应的是.NET 数据提供程序下的连接字符串。连接字符串定义了数 据库服务器的名称是 BBS,数据库的名称是 DBBS,用户名是 tw, 用户密码是 123。由于系统在多个页面都需要访问数据库,因此将 连接字符串定义在用户自定义控件中,实现了软件代码的复用。 第三步,实现数据库的连接,在需要访问数据库的页面中进 行编码。代码如下: public static string SQLCONNSTRING { get { connect_strings oConn = new connect_strings(); return oConn.SqlConnectionString; }} SqlConnection oConn = new SqlConnection(SQLCONNSTRING); oConn.Open() 以上代码的作用是获取连接字符串的值,将用户自定义控件 中的连接字符串赋给字符型变量 SQLCONNSTRING,然后新建连 接 oConn,通过 oConn 的 open 方法连接到数据库。