标题：ASP.NET夜话
图书信息
作　者：周金桥
出 版 社： 电子工业出版社
出版时间： 2009-7-1
页　数：464页
开　本： 16开
I S B N ： 9787121090561
内容简介
本书是笔者对多年项目开发的总结，着重讲述如何利用.NET开发出高效率和高安全性的Web应用程序，通过由浅入深、循序渐进的方式讲解在.NET开发中涉及的方方面面。
本书适合于大专院校计算机系的学生阅读，同时也适合初、中级Web开发人员，以及希望了解.NET企业级开发的编程爱好者使用。
作者简介
本书的作者周金桥2002年毕业于江汉石油学院（长江大学的前身）建筑工程系，毕业后在天津大港油田集团参加工作，2006年辞职前往山西，同年担任微软山西.NET俱乐部技术负责人，于2008年和2009年获得微软最有价值专家称号(MVP)。
推荐语
本书的作者周金桥具有多年的.NET开发经验，微软最有价值专家（Microsoft MVP），本书很多知识点都来自于他的经验总结。本书的一大特点是在讲述基本原理的同时还会适当地延伸，使知识点能与实际项目结合起来，使之更适合指导实际开发。本书不仅仅是在简单地陈述知识点，在书中还列举了大量的容易混淆的知识点的对比。本书内容从难易程度上划分为基础知识部分、进阶知识部分和高级知识部分，非常值得一读。
本书的基础知识部分携读者回顾了.NET的基础、基本控件、表单、数据绑定控件、验证控件等，并介绍了Visual Studio 2008。此部分内容可以帮助初学者和初级开发人员对于.NET有一个整体了解并掌握其内容。进阶知识部分作为基础知识的延续，向中级开发人员讲述了web.config详解、.NET中的AJAX开发和.NET中的三层架构等内容。高级知识部分讲解了开发高性能.NET应用程序涉及的问题，并以一个综合实例来讲述知识点在实际项目中的应用。
前言
算算从事软件开发已经有好几个年头了，在这些年开发了多少个网站我自己也记不清了。每次在开发中遇到问题解决以后我总喜欢把解决过程记录下来放在网上，以备自己随时查阅，直到有一天有一个朋友跟我说他在开发过程中每次遇到问题总能发现我也曾遇到过类似的问题，向我致谢的同时还建议我将这些问题整理成一个系统的知识系统，我当时接受了这个建议。
2008年9月，我整理出第一篇文章放在我的博客上，我以为没有人会在意，没有想到当天就有大量的朋友在我的博客上给我好评，鼓励我继续整理下去，正是有这样一群朋友热情的鼓励，给了我无穷的动力，所以尽管每天回家都已经很晚很累了，但是我仍会打开笔记本继续奋斗，力争早一日让大家看到我的成果。我清楚地记得第一篇文章是从晚上9点开始写，到凌晨才结束的，因为我打算将它写成一个系列文章，冥思苦想之后我把这个系列文章起名为《.NET夜话》。之所以叫夜话，是因为我每天白天都在上班，写这个系列文章的时候都是夜晚甚至凌晨。我喜欢品茶，在写本书的过程中我都是一边品茶一边写作，每每没有思路的时候品茶总能给我灵感，让我继续写下去。
正因为写作的时候我在品茶，所以我是以一种写散文的形式来写作本书，写完本章之后下一章写什么都是由当时的灵感来决定，而不是事先预计好的，也正是因为这样，所以本书在大多数章节中都会着重讲解一些知识点，然后对相关的知识点做一个延伸和拓展，这样就不会拘泥于每一个细节之中。当然，既然决定把本书当做散文来做，要做到形散而神不散，在写作过程中我还是有所侧重的，那就是一切都基于企业开发所用到的知识点，整本书讲解的就是企业开发的方方面面。我相信读者在阅读本书时也会有这种体会。
本书有些什么既然在写作过程中我是抱着写散文的心态去写的，那么书中的章节大多数并没有严格意义上的先后顺序，所以读者朋友可以从任何一个感兴趣的章节去读。不过，在这里笔者要告诉读者，本书不是一本介绍.NET API的书，书中列出了不少类、方法及控件，这些都是笔者在开发中经常用到的，所以书中把它们单独列出来讲解。
按照写作时的安排，我将整本书分作三个部分：基础知识、进阶知识和高级知识。基本知识点主要偏重.NET开发的基础知识，初学者和初级开发人员应力求掌握这一部分；进阶知识基于基础知识进行拓展和延伸，中级开发人员应着重掌握这部分内容；高级知识讲解了开发高性能.NET应用程序涉及的问题，并以一个综合实例来讲述知识点在实际项目中的应用。
阅读前的准备本书中的代码基于Visual Studio 2008和SQL Server 2005，因为经常需要访问数据，所以在阅读本书时要安装上这个两个软件；然后将配书光盘中的数据库附加到SQL Server 2005中，再按照本机的实际情况在web.config中配置数据库连接字符串。此外，在书中还提到了不少的第三方软件，请读者到网上下载这些软件并安装。
如何阅读本书散文一样的写作方式决定了在阅读本书时完全不必按照本书的章节顺序来阅读本书，可以从任何一个感兴趣的章节开始阅读。不过，如果想扎实地掌握.NET开发技巧，我建议你不管以什么顺序来阅读，但是一定要阅读本书的每一个章节。
目录
第1章 .NET介绍 21.1 XHTML语言 2　
1.2 静态网页 3　
1.3 动态网页 3　
1.4 IIS的安装和配置 3　
1.5 .NET开发的预备知识 4　
1.5.1 .NET简介 4　
1.5.2 在IIS上配置.NET 4　
1.5.3 Visual Studio版本与　
1.5.3 .NET Framework版本及　
1.5.3 .NET版本之间的关系 7　
1.5.4 .NET运行内幕 7　
1.6 结论 9
第2章 .NET基础 102.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章 表单和控件 233.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介绍 324.1 Visual Studio 2008网站　
4.1 开发环境介绍 32　
4.2 .NET网站类型介绍 33　
4.3 创建基于解决方案的.NET　
4.3 应用程序 35　
4.4 .NET内置文件夹介绍 36　
4.5 XML注释 37　
4.6 任务管理器 38　
4.7 配置外部工具 39　
4.8 代码段管理器 40　
4.9 发布.NET网站 44　
4.10 总结 45
第5章 Page类和回调技术 465.1 Page类介绍 46　
5.1.1 单文件页模型 46　
5.1.2 代码隐藏页模型 48　
5.2 .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章 .NET基本控件 686.1 .NET服务器控件简介 68　
6.2 Button控件 69　
6.3 TextBox控件 75　
6.4 .NET服务器控件的特殊　
6.4 客户端事件 78　
6.5 FileUpload控件 81　
6.6 Literal控件 84　
6.7 Panel控件 86　
6.8 PlaceHolder控件 88　
6.9 总结 89
第7章 .NET介绍 907.1 .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章 数据绑定控件 1158.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章 验证控件 1459.1 数据验证介绍 145　
9.2 客户端脚本验证 146　
9.3 .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章 复合控件和母板页 17210.1 TreeView控件 172　
10.2 MultiView控件 176　
10.3 用JavaScript方式实现　
10.3 选项卡式效果 181　
10.4 WiZard控件 186　
10.5 MasterPage母板页 190　
10.6 总结 194
目录2 进 阶 知 识
第11章 web.config详解 19611.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章 .NET底层探秘 21412.1 .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章 .NET中的AJAX开发 23813.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章 分布式开发 26614.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章 .NET中的三层架构 28715.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章 单元测试 31116.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章 .NET中的GDI+技术 32217.1 GDI+介绍 322　
17.2 在数据中保存和显示图片 323　
17.3 使用GDI+生成图片 330　
17.4 验证码实现 331　
17.5 总结 335
目录3 高 级 知 识
第18章 .NET报表技术 33818.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章 数据安全技术 38820.1 自定义加密 388　
20.2 对称加密 391　
20.3 不对称加密 398　
20.4 加密签名 402　
20.5 加密哈希 403　
20.6 总结 406
第21章 .NET网站的性能优化 40721.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章 综合实例 42522.1 项目介绍 425　
22.2 数据库设计 426　
22.3 实体层设计 429　
22.4 数据访问层设计 433　
22.5 业务逻辑层设计 441　
22.6 网站项目和单元测试项目说明 447　
22.7 总结 448