ASP.NET夜话
图书信息

作者:周金桥 编著
出 版 社:电子工业出版社
出版时间: 2009-7-1
页数:464页
开本: 16开
I S B N : 9787121090561
定价:59.00元(含DVD光盘1张)
内 容 简 介本书是笔者对多年项目开发的总结,着重讲述如何利用ASP.NET开发出高效率和高安全性的Web应用程序,通过由浅入深、循序渐进的方式讲解在ASP.NET开发中涉及的方方面面。
本书从ASP.NET的基础出发,在适当的地方加以延伸和拓展,使之更贴近企业开发。书中系统地讲解了ASP.NET企业开发的多个层面,主要知识点包括:表单知识、ASP.NET运行机制、Visual Studio 2008技巧、ASP.NET服务器控件的使用、SQL注入防范、单元测试、三层架构、报表、数据加密/解密、GDI+、ADO.NET、分布式开发、AJAX开发及静态页面生成技术、高性能ASP.NET应用程序开发等,在最后一章以一个实际项目来演示如何将本书所讲的知识点应用到实际项目开发中。尽管本书的讲解是基于Visual Studio 2008和SQL Server 2005的,但是绝大部分知识完全可以应用于Visual Studio 2005和SQL Server 2000。
本书适合于大专院校计算机系的学生阅读,同时也适合初、中级Web开发人员,以及希望了解ASP.NET企业级开发的编程爱好者使用。
作者简介
本书的作者周金桥2002年毕业于江汉石油学院(长江大学的前身)建筑工程系,毕业后在天津大港油田集团参加工作,2006年辞职前往山西,同年担任微软山西.NET俱乐部技术负责人,于2008年和2009年获得微软最有价值专家称号(MVP),以网名zhoufoxcn活跃于csdn及51cto等技术网站。
推 荐 语本书的作者周金桥具有多年的.NET开发经验,微软最有价值专家(Microsoft MVP),本书很多知识点都来自于他的经验总结。本书的一大特点是在讲述基本原理的同时还会适当地延伸,使知识点能与实际项目结合起来,使之更适合指导实际开发。本书不仅仅是在简单地陈述知识点,在书中还列举了大量的容易混淆的知识点的对比。本书内容从难易程度上划分为基础知识部分、进阶知识部分和高级知识部分,非常值得一读。
本书的基础知识部分携读者回顾了ASP.NET的基础、基本控件、表单、数据绑定控件、验证控件等,并介绍了Visual Studio 2008。此部分内容可以帮助初学者和初级开发人员对于ASP.NET有一个整体了解并掌握其内容。进阶知识部分作为基础知识的延续,向中级开发人员讲述了web.config详解、ASP.NET中的AJAX开发和ASP.NET中的三层架构等内容。高级知识部分讲解了开发高性能ASP.NET应用程序涉及的问题,并以一个综合实例来讲述知识点在实际项目中的应用。
微软最有价值专家(Microsoft MVP)是一群令人敬佩的人,他们具备一种或多种微软技术专业知识,并且积极参与在线或离线的社群活动,经常与其他专业人士分享知识和专业技能,受人尊敬、信任,而且平易近人。通过分享其知识和经验并提供客观反馈,MVP 帮助人们解决问题和发现新的潜能。Microsoft 认为,技术社区为用户提供了技术交流的机会,这些交流促进变革和创新,从而提升大众的生活品质并促进行业的成功。周金桥作为ASP/ASP.NET技术方向的专家,已连续2年获得MVP称号。他长期活跃于www.csdn.net和www.dotnet.sx.cn网站,负责为开发人员解答.NET开发方面遇到的问题。他擅长的是WinForm和WebForm方面的开发,对于软件和数据库性能优化方面有一定的心得和体会。目前的研究方向是GDI+和Mobile开发。
本书以循序渐进的风格向广大开发人员介绍了企业开发的方方面面。看似散文似的描述,但形散而神不散地将企业开发所用到的知识点充分地展现在书籍中。相信大家阅读完此书后会与我产生同样的共鸣。
林思绮 技术社区支援服务中国区最有价值专家主管
读书如读人!认识周金桥是几年前的山西太原.NET俱乐部活动,他是很典型的那种憨厚老实、踏踏实实做技术的人。他的博客也是如此,记录着他在几年开发过程中碰到的具体问题和解决方案,很多人都给予很高的评价。关于ASP.NET的书从该技术面世以来,出版就一直没有中断过。无论是一步一步基础介绍ASP.NET技术的,还是ASP.NET高级编程,抑或是ASP.NET实例编程或者ASP.NET AJAX,作者们都是花心思把自己的所知所得分享给读者,每本书都不同,我也无从判定孰优孰劣,还是读者自己去细细体会吧。
对于目前最火爆的Web开发而言,ASP.NET技术能够帮助您快速、高效、安全地构建应用程序。这本书的结构非常清晰,从ASP.NET的基础开讲,然后一步步进阶学习,最后讲述关于报表、数据安全和性能调优高级知识。技术融入到情景和实例中,涵盖了真正的企业开发所需要的知识点。我相信这本书会对技术初学者有很大的帮助,对于有一定基础的Web开发人员也有一定的参考作用。
俞晖 微软(中国)有限公司开发平台合作部开发合作经理
本书作者周金桥是微软最有价值专家(MVP)、CSDN荣誉专家、论坛专家及博客专家,长期活跃于CSDN论坛,回答.NET相关的问题,并在博客上发表.NET相关技术的文章。《ASP.NET夜话》一书是作者多年开发经验的总结和针对开发者在CSDN论坛中关于ASP.NET企业开发常见问题的总结,从作者博客上看到了大量读者对该书的好评,可见作者在平时开发中确实注意到了一些常被开发人员忽略的细节,并且在本书中得到了详细的阐述。
本书的特点是不仅讲述了控件的用法,还介绍了大量的在企业开发中才涉及的技巧和经验。散文式的写作风格是本书的一大特点,尽管似乎没有明确的主线贯穿本书,但是细细品读之后就会发现贯穿本书的其实就是企业开发思想:满足用户要求的同时尽可能高效。
本书在内容章节上的安排也很有特色,整书划分为三个部分:基础知识部分、进阶知识部分和高级知识部分。基础知识部分适合于基础较差的开发人员或者初学者阅读学习,进阶知识部分适合于有一定开发经验的开发人员学习,高级知识部分则适合于那些想进一步提高自己知识面的开发人员学习。
生动透彻的讲解,图文并茂的说明,细致的总结,相信对于那些ASP.NET学习人员将会起到很大的帮助。
孟宪会 微软最有价值专家(MVP)、CSDN技术社区和微软中文技术论坛版主
读者留言
jingsong2008:第一个抢到sofa,很期待你的这本书,看了你的一部分视频后,感觉很好,楼主加油!
flc45:一直在关注、期待你的这本书。
¬ fang1229:看过两章,是本好书,支持LZ,希望楼主的书热买。
DragonTang:细细品味,非常好。
ccmyfriend:谢谢周公,一直关注你写的书。
rockyvan:现在正在学习ASP.NET,正在看阿泰送给我的那本书和周公的Blog。等书正式出版了一定要弄一本收藏一下。
lchunyuxp:正在学习ASP.NET,很喜欢你的视频啊,非常感谢。
tracy:周公文章传天下,四海之内皆桃李。
港湾:今天一口气从第一夜看到这里,虽然有些葫芦吞枣,但是基本上都能看懂。在这里要说的是,能把知识讲得这么透彻和生动,你是费了好大的精力和苦力的。对你的浓厚的兴趣追求和坚持不懈的耐心,真的是无法用“佩服”两个字来表达。以后我会更加多多地向你学习的。为你加油!
网友:周先生写得太好了,对我这个初学者有很大的帮助,我就像发现金矿一样。
浣花居士:文章写得很好,清晰易懂,谢谢楼主分享。
julilet:终于明白.config文件是怎么用的了,非常感谢!
chixin486:我真服了你了,讲得太经典了,例子比我看书生动多了。
moguo:我只想用两个字来表达周老师和他的文章:“强、好”!全是经验之谈。
ZengJerry:很不错啊!图文并茂,还有实例,难得!
dengdaisomeone:我做过ASP.NET的项目,现在看你的每篇文章都有收获,以前不理解、混淆的地方,现在都知道了,真是太感谢了。以前知其然不知其所以然,现在都知道了。
严鹏:写得太棒啦!一直关注周老师!
niunan:十分感谢,又学到一招,代码段以前用到了,现在又学会用任务列表了。
niunan:又学会了一种全选/取消全选的方法,之前用的是清清月儿的在后置文件中编写代码进行全选的,现在用了周公的这种方法,效率上一定会更快了。
niunan:这个.NET系列是我在网上看过的最好的讲解.NET的。
zjkwangjie:很感谢有您这样的老师,谢谢。期待您出更多的作品,讲解很详细,很容易看懂。
fonshen:自己鼓捣ASP.NET 2.0很久了(之前没有.NET经验),昨天才发现周公的这个系列,今天终于全部看完,很多东西都豁然开朗,谢谢!
lee:很喜欢你的ASP.NET夜话,因为它简明易懂,虽然有很多已经熟悉,但重新看一遍,有温故而知新的感觉。
yangxiaoxing_job:我已经学到这了,其实我是从第6课开始看的,后来我发现,即使是有开发经验的人员,看看前面的章节也是有所收益的。
Ming:非常浅显,也非常有用!周公的知识让人钦佩,负责的态度更令人称道!在此,向周公道一声“辛苦了”!期待你的新作!
day007up:楼主对我的帮助真的很大。看了使我收获不少,真的非常感谢!
leehao_vip:周公加油啊,真是太有毅力了,写到半夜。写书本来就不容易,知识点还能阐述得这么清楚,佩服。
Michael_MJ:昨天看第三篇时就想说声谢谢,可是网速太慢,又要回家。今天看了这篇终于又忍不住想大声说出来:楼主写得太好、太认真、太详细了。
Ifanything:详细介绍了一些底层技术,受益匪浅。看完后热血澎湃,继续努力。
Amway1141:非常感激,感觉非常的通俗易懂,支持你,谢谢啊!看你的代码就是清楚,一看就看明白了。
lovedona:很敬佩周公,在这里学了很多东西,讲得也很透彻。学习在于总结,可是总结也不是所有人都做得来的,像周公这样透彻而且纹理清晰的编程思想可见往日的做事习惯,呵呵。感谢,支持,加油。
ylq791109:真不错,注释又细,一看就懂了,谢谢楼主。
yuanyuan198595:写作的风格超赞!
m_dondon:撰写得非常棒,博主是个很注重细节的人啊!希望以后能看到更多这样的文章。
julang:写得很细,截图也很全,确实是很好的博客,关注中,学习中。
HeyGuy:楼主这篇文章令我受益匪浅,让我对工具的认识又加深不少。谢谢您的共享!
nikolay:VS 2005用了两年,今天看了你的文章发现自己跟没用过一样,太受教了。谢谢!
xpnew:我也是初学者,一个正在“脱贫”的菜鸟。“上面的页面中我已经添加了足够详尽的注释,不过我还是要说明几点”这一段让人欣喜,也让人感动,也让我知道博客得怎么写了。
sugar520:我是刚学的,看完之后得到很多在课堂上没有学到的知识,可能是还没讲到,真感谢!
Klose_Li:系统的知识、简洁的说明,不得不说非常感谢!一直关注!
zouqingfang:我也在研究ASP.NET,觉得非常贴切,有切身的感受。
前 言缘 起
算算从事软件开发已经有好几个年头了,在这些年开发了多少个网站我自己也记不清了。每次在开发中遇到问题解决以后我总喜欢把解决过程记录下来放在网上,以备自己随时查阅,直到有一天有一个朋友跟我说他在开发过程中每次遇到问题总能发现我也曾遇到过类似的问题,向我致谢的同时还建议我将这些问题整理成一个系统的知识系统,我当时接受了这个建议。
2008年9月,我整理出第一篇文章放在我的博客上,我以为没有人会在意,没有想到当天就有大量的朋友在我的博客上给我好评,鼓励我继续整理下去,正是有这样一群朋友热情的鼓励,给了我无穷的动力,所以尽管每天回家都已经很晚很累了,但是我仍会打开笔记本继续奋斗,力争早一日让大家看到我的成果。我清楚地记得第一篇文章是从晚上9点开始写,到凌晨才结束的,因为我打算将它写成一个系列文章,冥思苦想之后我把这个系列文章起名为《ASP.NET夜话》。之所以叫夜话,是因为我每天白天都在上班,写这个系列文章的时候都是夜晚甚至凌晨。我喜欢品茶,在写本书的过程中我都是一边品茶一边写作,每每没有思路的时候品茶总能给我灵感,让我继续写下去。
正因为写作的时候我在品茶,所以我是以一种写散文的形式来写作本书,写完本章之后下一章写什么都是由当时的灵感来决定,而不是事先预计好的,也正是因为这样,所以本书在大多数章节中都会着重讲解一些知识点,然后对相关的知识点做一个延伸和拓展,这样就不会拘泥于每一个细节之中。当然,既然决定把本书当做散文来做,要做到形散而神不散,在写作过程中我还是有所侧重的,那就是一切都基于企业开发所用到的知识点,整本书讲解的就是企业开发的方方面面。我相信读者在阅读本书时也会有这种体会。
本书有些什么
既然在写作过程中我是抱着写散文的心态去写的,那么书中的章节大多数并没有严格意义上的先后顺序,所以读者朋友可以从任何一个感兴趣的章节去读。不过,在这里笔者要告诉读者,本书不是一本介绍ASP.NET API的书,书中列出了不少类、方法及控件,这些都是笔者在开发中经常用到的,所以书中把它们单独列出来讲解。
按照写作时的安排,我将整本书分作三个部分:基础知识、进阶知识和高级知识。基本知识点主要偏重ASP.NET开发的基础知识,初学者和初级开发人员应力求掌握这一部分;进阶知识基于基础知识进行拓展和延伸,中级开发人员应着重掌握这部分内容;高级知识讲解了开发高性能ASP.NET应用程序涉及的问题,并以一个综合实例来讲述知识点在实际项目中的应用。
基础知识部分:
第1章 ASP.NET介绍
第2章 ASP.NET基础
第3章 表单和控件
第4章 Visual Studio 2008介绍
第5章 Page类和回调技术
第6章 ASP.NET基本控件
第7章 ADO.NET介绍
第8章 数据绑定控件
第9章 验证控件
第10章 复合控件和母板页
进阶知识部分:
第11章 web.config详解
第12章 ASP.NET底层探秘
第13章 ASP.NET中的AJAX开发
第14章 分布式开发
第15章 ASP.NET中的三层架构
第16章 单元测试
第17章 ASP.NET中的GDI+技术
高级知识部分:
第18章 ASP.NET报表技术
第19章 .NET的文件IO体系和静态页面生成技术
第20章 数据安全技术
第21章 ASP.NET网站的性能优化
第22章 综合实例
阅读前的准备
本书中的代码基于Visual Studio 2008和SQL Server 2005,因为经常需要访问数据,所以在阅读本书时要安装上这个两个软件;然后将配书光盘中的数据库附加到SQL Server 2005中,再按照本机的实际情况在web.config中配置数据库连接字符串。此外,在书中还提到了不少的第三方软件,请读者到网上下载这些软件并安装。
如何阅读本书
散文一样的写作方式决定了在阅读本书时完全不必按照本书的章节顺序来阅读本书,可以从任何一个感兴趣的章节开始阅读。不过,如果想扎实地掌握ASP.NET开发技巧,我建议你不管以什么顺序来阅读,但是一定要阅读本书的每一个章节。
致 谢
在本书的写作过程中得到了多方的支持,本书能够出版绝非我一个人的力量所能完成的。首先要感谢唐军平、孙利花、柴林甫、员战强、张洋、巩静荣、李文娟、张燕及薛婷和杜垚等人,他们为本书的写作提供了不少的建议和帮助;感谢博文视点的孙学瑛老师和葛娜老师,在本书的写作过程中得到了她们大力支持;此外还要感谢在我的博客上给我热情留言鼓励的读者,以及山西.NET俱乐部主席桂素伟和副主席张剑,你们的支持和建议才使本书得以顺利出版。当然在我写作本书时一直陪伴到深夜而毫无怨言的一位朋友,那就是摆放在墙角的电热壶,正是因为它在我文思枯竭时提供了清茶,才使得我文思如泉涌继续写作。
我想借这个机会感谢我的家人,是您们生我养我供我读书,在我生活和工作中遇到重大挫折时总会第一时间在遥远的湖北黄冈给我加油打气。“要看关心一个人的程度,只要看他是否关心另一个人那里的天气就知道了。”这些年来因为工作忙碌的原因,我几乎不看电视,不管我走到那里,亲爱的妈妈总会留意那个城市的天气预报,以便在冷暖天气变化之前通知远方的儿子,惭愧的是这么多年来我一直没有机会留在父母身边尽孝道,这一直是我心头的遗憾。感谢父母给了我一个温暖的家,我希望能将本书献给我亲爱的爸爸妈妈!
周金桥
2009年5月
目 录基 础 知 识
第1章 ASP.NET介绍 2
1.1 XHTML语言 2
1.2 静态网页 3
1.3 动态网页 3
1.4 IIS的安装和配置 3
1.5 ASP.NET开发的预备知识 4
1.5.1 ASP.NET简介 4
1.5.2 在IIS上配置ASP.NET 4
1.5.3 Visual Studio版本与
1.5.3 .NET Framework版本及
1.5.3 ASP.NET版本之间的关系 7
1.5.4 ASP.NET运行内幕 7
1.6 结论 9
第2章 ASP.NET基础 10
2.1 Request对象 10
2.2 Response对象 11
2.3 Server对象 13
2.4 Session对象 14
2.5 Cookie对象 15
2.6 Application对象 16
2.7 ViewState对象 18
2.8 <%%>表达式 20
2.9 <%=%>表达式 20
2.10 目录运算符 22
2.11 总结 22
第3章 表单和控件 23
3.1 HTML表单的提交方式 23
3.2 HTML控件 25
3.3 获取HTML控件的值 25
3.4 SQL注入 26
3.5 乱码问题 26
3.6 服务器端表单 28
3.7 HTML服务器控件 28
3.8 总结 31
第4章 Visual Studio 2008介绍 32
4.1 Visual Studio 2008网站
4.1 开发环境介绍 32
4.2 ASP.NET网站类型介绍 33
4.3 创建基于解决方案的ASP.NET
4.3 应用程序 35
4.4 ASP.NET内置文件夹介绍 36
4.5 XML注释 37
4.6 任务管理器 38
4.7 配置外部工具 39
4.8 代码段管理器 40
4.9 发布ASP.NET网站 44
4.10 总结 45
第5章 Page类和回调技术 46
5.1 Page类介绍 46
5.1.1 单文件页模型 46
5.1.2 代码隐藏页模型 48
5.2 ASP.NET页面的生命周期 50
5.3 利用Page的事件进行统一
5.3 身份验证 52
5.4 IsPostBack属性 54
5.5 ValidateRequest属性 55
5.6 ClientScript属性 56
5.7 回调技术 60
5.8 总结 67
第6章 ASP.NET基本控件 68
6.1 ASP.NET服务器控件简介 68
6.2 Button控件 69
6.3 TextBox控件 75
6.4 ASP.NET服务器控件的特殊
6.4 客户端事件 78
6.5 FileUpload控件 81
6.6 Literal控件 84
6.7 Panel控件 86
6.8 PlaceHolder控件 88
6.9 总结 89
第7章 ADO.NET介绍 90
7.1 ADO.NET简介 90
7.2 Connection对象 93
7.3 Command对象 100
7.4 DataReader对象 101
7.5 DataAdapter对象 105
7.6 DataSet对象 105
7.7 DataTable对象 108
7.8 参数化SQL语句 110
7.9 分页查询SQL语句 111
7.10 总结 114
第8章 数据绑定控件 115
8.1 DropDownList控件 116
8.2 ListBox控件 118
8.3 数据绑定表达式 120
8.4 GridView控件 122
8.5 DataList控件 133
8.6 Repeater控件 136
8.7 Form View控件 138
8.8 DetailsView控件 141
8.9 总结 144
第9章 验证控件 145
9.1 数据验证介绍 145
9.2 客户端脚本验证 146
9.3 ASP.NET验证控件概述 148
9.4 RequiredFieldValidator控件 149
9.5 CompareValidator控件 151
9.6 RangeValidator控件 155
9.7 正则表达式 157
9.8 RegularExpressionValidator控件 159
9.9 CustomValidator控件 161
9.10 ValidationSummary控件 165
9.11 分组验证技术 167
9.12 总结 170
第10章 复合控件和母板页 172
10.1 TreeView控件 172
10.2 MultiView控件 176
10.3 用JavaScript方式实现
10.3 选项卡式效果 181
10.4 WiZard控件 186
10.5 MasterPage母板页 190
10.6 总结 194
进 阶 知 识
第11章 web.config详解 196
11.1 配置文件的查找算法 196
11.2 配置文件节点介绍 198
11.2.1 <configSections>节点 198
11.2.2 <appSettings>节点 199
11.2.3 <connectionStrings>节点 199
11.2.4 <location>节点 199
11.2.5 <system.web>节点 200
11.3 配置文件的读/写操作 209
11.4 总结 213
第12章 ASP.NET底层探秘 214
12.1 ASP.NET底层之旅 214
12.2 IHttpModule接口 217
12.3 HttpApplication及Global.asax 220
12.4 IHttpHandler接口 224
12.4.1 实现自定义文件类型处理 224
12.4.2 给图片动态添加水印功能 226
12.4.3 防盗链功能 229
12.5 在IIS中配置自己编写的
12.5 HttpHandler 236
12.6 总结 237
第13章 ASP.NET中的AJAX开发 238
13.1 纯JavaScript开发AJAX应用 238
13.2 第三方(AjaxPro)开发
13.2 AJAX应用 246
13.3 微软AJAX控件库开发AJAX应用 254
13.3.1 ScriptManager控件 254
13.3.2 ScriptManagerProxy控件 255
13.3.3 UpdatePanel控件 255
13.3.4 Timer控件 259
13.3.5 UpdateProgress控件 260
13.4 总结 265
第14章 分布式开发 266
14.1 分布式计算的概念 266
14.2 XML Web Service开发 266
14.2.1 XML Web Service介绍 266
14.2.2 XML Web Service服务器端
14.2.2 开发及部署 268
14.2.3 WebService的部署 270
14.2.4 WebService客户端开发 272
14.2.5 异步调用WebService 274
14.3 WCF开发 276
14.3.1 定义WCF服务契约和引入
14.3.1 WCF服务契约 277
14.3.2 构架WCF服务,运行WCF
14.3.1 服务 281
14.3.3 生成WCF服务代理的
14.3.1 代码文件 283
14.3.4 客户端访问WCF 285
14.3.5 运行程序 286
14.4 总结 286
第15章 ASP.NET中的三层架构 287
15.1 数据库通用类 287
15.1.1 SQL Server数据库访问
15.1.1 通用类 288
15.1.2 using关键字的用法 293
15.2 三层架构的定义及代码示例 294
15.3 三层架构的特点 309
15.4 对三层架构的一点扩充 309
15.5 总结 310
第16章 单元测试 311
16.1 NUnit简介 311
16.2 NUnit界面介绍 312
16.2.1 File菜单 312
16.2.2 Project菜单 313
16.3 NUnit API介绍 313
16.4 利用NUnit进行单元测试 318
16.5 其他的单元测试软件 320
16.6 总结 321
第17章 ASP.NET中的GDI+技术 322
17.1 GDI+介绍 322
17.2 在数据中保存和显示图片 323
17.3 使用GDI+生成图片 330
17.4 验证码实现 331
17.5 总结 335
高 级 知 识
第18章 ASP.NET报表技术 338
18.1 OWC控件的使用 338
18.2 ZedGraph控件的使用 344
18.3 RDLC报表的使用 349
18.4 总结 355
第19章 .NET的文件IO体系和
静态页面生成技术 356
19.1 .NET中的文件体系 356
19.1.1 DriveInfo类 356
19.1.2 Directory及DirectoryInfo类 359
19.1.3 File及FileInfo类 362
19.1.4 Path类 366
19.2 .NET中的IO体系 369
19.2.1 基于字节的流 369
19.2.2 基于字符的流 373
19.3 静态页面生成技术 378
19.3.1 为什么要生成静态页面 378
19.3.2 什么时候生成静态页面 379
19.3.3 如何生成静态页面 379
19.4 总结 387
第20章 数据安全技术 388
20.1 自定义加密 388
20.2 对称加密 391
20.3 不对称加密 398
20.4 加密签名 402
20.5 加密哈希 403
20.6 总结 406
第21章 ASP.NET网站的性能优化 407
21.1 程序编码优化 407
21.1.1 集合操作 407
21.1.2 字符串连接优化 410
21.1.3 类型转换优化 413
21.1.4 使用Server.Transfer()方法 414
21.1.5 避免不必要的服务器往返 414
21.1.6 尽早释放对象 415
21.1.7 尽量减少服务器控件的使用 415
21.2 数据操作优化 415
21.2.1 数据库连接对象使用优化 415
21.2.2 数据访问优化 416
21.2.3 优化SQL语句 416
21.2.4 合理使用缓存 416
21.3 配置优化 420
21.3.1 禁用调试模式 420
21.3.2 合理使用ViewState 420
21.3.3 合理选择会话状态数据
21.3.3 存储模式 423
21.4 总结 424
第22章 综合实例 425
22.1 项目介绍 425
22.2 数据库设计 426
22.3 实体层设计 429
22.4 数据访问层设计 433
22.5 业务逻辑层设计 441
22.6 网站项目和单元测试项目说明 447
22.7 总结 448