I
AS P.N E T 2.0开发实践心得
口 文 /刘俊 民
指的是设计开发高质量 、可重 用
与易维护 的 Web应 用的较好 方
法。最近在使用ASP.NET 2.0设
计开发一套社 区系统 ,这是一 套
包括有论坛、博客 、相册、文章等
模块 的web应用程序 .从 中体会到
诸多使用 ASP NET设计开发项 目
的乐趣和烦恼 ,借此可 以向大家
分享一下这个过程.谈谈ASP.NET
开发的最 佳实践 .也就是如何使
用 ASP.NET设计开发高质量 、可
重用与易维护的web应用。当然 ,
限于篇幅 .本文无法涉及ASP.NET
开发最佳实践 的方方面面 .最重
要是抛砖 引玉 ,引出大 家对不同
Web技术流派的讨论 。
ASP.NET 2.0
主要特性概览
在动 手 之前 ,首 先来 看 看
ASP.NET 2.0现 有的一些特性 .
有哪些是可 以直接用的 ,有哪些
是需要我们 自己来做 的.并且如
的Membership和Role Manager是一个很不错的
特性 ,它提供了一套基础的用户管理和角色
权限管理方案 ,并且可 以很方便地根据 自己
的需要来进行扩展 和开发 。它最大的意义在
于使更多 的Web应用程序有 了统一 的用户管
理平 台,方便系统 的移植和系统之间的整合 。
◆ 权限管理 :一个优秀 的社 区程序要有
精细 的权限控制 ,例如在论坛中 .要严格区分
游客 、注册用户 、版主和管理员的权限 .对每
个用户的权限有严格的判断。ASP.NET有一套
强大 的基于角色的权限管理和控制方案 ,结
合 Membership,在 系统 中设置若干角色,为每
个角色分配不同的权限 ,每个用户属于一个
到多个角色 ,根据 用户所属的角色 .就可 以明
确的知道用户所拥有的权限。对于一些粗粒
度的只要精确到页面的权 限控制 ,更是可 以
直接通过 web.config、配置 .例如我们要设置
admin目录下的所有页面只有”Adminstrator”
角色用户有访 问权限 .只要在 admin目录下的
web.config中进行简单的配置就可以实现 。
◆ 缓存 :当社 区的帖子越来越多,博客
越来越 多 .用户访问量 越来越大 的时候 .性
能问题就 凸现 出来 了,解决 性能 问题有很多
种方案 .其中 ASP.NET提供 的缓存就是一种
ASP.NET提供了一个真正的面向对象的编程模
型 ,这使得我们在 设计时,从面 向对象的思想出发 ,
让 系 统 的架 构 更 灵 活 ,易 于 扩展 和维 护 。
何利用这些特 性来实现 ASP.NET
开发的最佳实践 :
◆ Membership:作为一个社区
系统 .用户管理是必不可少的 .也
是整个系统的基础 .ASP .NET 2 0
简 单 有 效 的方 案 .
ASP.NET提供 了多种
缓 存 方 案 .使 用 缓
存 .可以避免频繁的
数据库操作 .提高页
面执 行速度 .有效地利用缓存可 以极大的提
高系统 的性能 ,当然缓存是 以内存为代价的 ,
所以在使 用时 .也要注意一些问题 .例如不
要缓存过大 的项 .要注意缓 存的更新 .设置
好缓存更新 的策略 。
◆ 控件 :开发过程中 ,难免
要有很多繁琐复杂 的ul功能,例
如用户输入 的合法性校验 .所见
即所 得的HTML编辑器 ,页面模版
等 .从头实现这些不仅要有深厚
的客户端脚本功底 ,还需要一定
的时间 ,好在 ASP.NET自带的控
件以及第三方开发 的控件都已经
帮我们处理 了这些复杂 的工 作 .
我们所要做 的,就只是在合 适的
地方引用它们 ,并设置好它们的
属 性就可 以了。
◆ 连接池 :数据库 连接是一
件很费 时的事情 ,通过连接池可
以反复 地使用数据库的连接。使
用连接池只有在 不存在有效 的连
接时才会新建一个 TCP连接 .而
不会每 次请 求都用 TCP来连一次
数据 库 。 当关 闭一个 连接 的时
候 ,它会被放到连接池 中 .但它
仍然会保持 与数据库的连接 ,这
样就可 以有效的减少与数据库的
TCP连接次数 。
◆ 其他 :要用到 ASP.NET的
特性还很多 .当然无法一一列举 。
虽然ASP.NET已经有 了很多
特性 .但还是有一些事情需要 自
己来实现 .好在 ASP.NET不仅功
能强大 .而且还 留给 开发人 员足
够的灵活性。ASP.NET支持 C#、
VB.NET等高级语言 .在开 发时也
可 以感 受到高级语言 的强大 :要
对 图片进行处理 .那么直 接调 用
GDI+就可以了:要下载一个其他
62 ·矗 舟 帛 ·
维普资讯 http://www.cqvip.com