书籍详情

深入ASP.NET 2.0开发

深入ASP.NET 2.0开发

作者:(美)Damon Armstrong

出版社:人民邮电出版社

出版时间:2008-01-01

ISBN:9787115169471

定价:¥69.00

购买这本书可以去
内容简介
  本书主要介绍如何使用ASP.NET 2.0开发坚实的基于Web的业务应用程序。除讲解了ASP.NET 2.0的新特性(母版页、主题、皮肤、Web部件框架等)之外,还深入讨论了对真实ASP.NET项目至关重要的主题,包括配置策略、异常管理、可复用控件开发、用户配置管理、搜索、报表、数据输入、文件上传、安全加密等。 书中提供了大量实践例子和作者的经验之谈,适合已有ASP.NET经验的中高级读者
作者简介
  Damon Armstrong:资深ASP.NET程序员,毕业于得克萨斯大学,从事商业应用程序开发超过10年,尤其擅长VB.NET和ASP.NET。曾在,ASP.NET高手云集的Telligent系统公司担任技术顾问,获益匪浅,目前在著名IT咨询企业Cogent公司担任资深软件架构师。
目录
第1章??? 配置策略 1
1.1 ASP.NET?2.0中的新配置工具 2
1.1.1 Web站点管理工具 2
1.1.2 IIS中的ASP.NET属性页 5
1.2 配置基础 7
1.2.1 应用程序设置 8
1.2.2 连接字符串 8
1.2.3 配置指导原则 10
1.3 强类型配置类 11
1.3.1 强类型配置样例应用程序 11
1.3.2 添加Web.config文件 11
1.3.3 Config类 12
1.3.4 在代码中使用Config类 14
1.3.5 Config类中的错误处理 15
1.3.6 缓存应用程序设置和连接字符串 16
1.4 自定义配置节 17
1.5 在数据库中存储配置设置 29
1.5.1 何时避免使用Web.config文件 29
1.5.2 创建数据库表来存储配置设置 30
1.5.3 避免SQL注入攻击 30
1.5.4 创建DataConfig类 32
1.5.5 从数据库读取配置值 32
1.5.6 把配置值写入到数据库 33
1.5.7 DataConfig类的属性 34
1.5.8 在数据库中序列化和反序列化对象 35
1.6 小结 38
第2章 异常管理 39
2.1 异常管理基础 39
2.1.1 什么是异常 40
2.1.2 使用Try?Catch语句处理异常 40
2.1.3 使用多个Catch语句 42
2.1.4 使用When子句捕获特定的错误 44
2.1.5 使用Finally关键字 45
2.1.6 抛出异常 46
2.1.7 创建自定义异常类 47
2.1.8 内部异常和异常包装 49
2.1.9 异常传播 51
2.2 全局错误处理 53
2.2.1 IIS与ASP.NET错误 53
2.2.2 定义ASP.NET的默认错误页面 53
2.2.3 使用ASPX页面作为默认错误页面 54
2.2.4 在ASP.NET中定义自定义错误页面 54
2.2.5 在IIS中定义自定义错误页面 55
2.2.6 使用应用程序错误事件 56
2.3 记录异常以便分析 57
2.3.1 选择异常日志记录工具 57
2.3.2 架构概览 58
2.3.3 创建ExceptionLog表来存储数据 59
2.3.4 ExceptionLog类 59
2.3.5 ExceptionLogCollection类 66
2.3.6 ExceptionLogger类 69
2.3.7 在代码中使用Exception-Logger类 72
2.3.8 在线浏览异常 72
2.4 小结 79
第3章 母版页、主题和控件皮肤 81
3.1 母版页 81
3.1.1 创建母版页 82
3.1.2 创建内容页面 85
3.1.3 从内容页面中访问母版页 88
3.1.4 为应用程序定义默认的母版页 89
3.1.5 在代码中修改母版页 89
3.1.6 嵌套母版页 90
3.2 主题和控件皮肤 91
3.2.1 创建主题 92
3.2.2 往主题中添加CSS 92
3.2.3 为主题创建控件皮肤 92
3.2.4 禁用控件皮肤 93
3.2.5 为主题创建命名的控件皮肤 94
3.2.6 把主题应用到指定的页面或整个应用程序 94
3.2.7 对主题进行编程 95
3.3 小结 95
第4章 开发可复用的组件:皮肤化的页面消息控件 96
4.1 ASP.NET?2.0中的新控件特性 97
4.1.1 用户控件的设计时呈现 97
4.1.2 全局标签注册 98
4.2 使用ControlState开发服务器控件 99
4.2.1 建立ControlStateExample控件 100
4.2.2 创建ControlState演示页面 103
4.2.3 在演示页面中查看ControlState的行为 105
4.3 构建一个皮肤化的页面消息控件 105
4.3.1 什么是皮肤化的控件 106
4.3.2 服务器控件如何操纵UserControl 106
4.3.3 皮肤化控件如何实现 107
4.3.4 皮肤化页面消息服务器控件的架构 108
4.3.5 UserControl皮肤的存储位置 110
4.3.6 设立消息Web控件项目 110
4.3.7 皮肤化Web控件的类 111
4.3.8 MessageDataCollection类 114
4.3.9 为控件库定义一个标准的标签前缀 121
4.3.10 设计时呈现 121
4.3.11 在Web项目中引用Page-MessageControl 122
4.3.12 创建PageMessageControl皮肤文件 122
4.3.13 使用PageMessageControl 127
4.4 小结 128
第5章 用于表单验证的用户管理工具和登录控件 130
5.1 ASP.NET的表单验证 131
5.1.1 验证模式 131
5.1.2 为应用程序配置验证模式 133
5.1.3 验证票据的概念 133
5.1.4 验证cookie 134
5.1.5 指定默认登录页面和登录重定向URL 134
5.1.6 其他表单验证配置选项 135
5.1.7 手动实现表单验证 137
5.2 处理成员资格和角色对象 144
5.2.1 Memebership对象 144
5.2.2 角色对象 147
5.2.3 对成员资格和角色对象进行编程 149
5.2.4 配置Memebership和Role提供程序 149
5.3 用Web站点管理工具管理用户和安全性 153
5.3.1 打开Web站点管理工具 153
5.3.2 Home选项卡 153
5.3.3 Provider选项卡 154
5.3.4 Security选项卡 156
5.3.5 添加、编辑和删除用户 162
5.4 ASP.NET?2.0登录控件 164
5.4.1 模板化控件 165
5.4.2 创建模板 166
5.4.3 Login控件 168
5.4.4 LoginView控件 170
5.4.5 PasswordRecovery控件 173
5.4.6 LoginStatus控件 175
5.4.7 LoginName控件 176
5.4.8 CreateUserWizard控件 176
5.4.9 ChangePassword控件 178
5.5 小结 180
第6章 管理用户配置 181
6.1 用户配置基础 182
6.1.1 Profile对象 182
6.1.2 启用和禁用用户配置 183
6.1.3 在Web.config中定义用户配置属性 183
6.1.4 创建用户配置属性组 184
6.1.5 实现用户配置属性类 185
6.1.6 强类型属性 187
6.1.7 ProfileManager类 188
6.2 处理匿名用户配置 190
6.2.1 启用匿名用户配置标识 190
6.2.2 什么时候使用匿名标识 193
6.2.3 匿名标识的缺点 193
6.2.4 定义匿名用户配置属性 194
6.2.5 用IsAnonymous避免匿名写入异常 194
6.2.6 重要的默认属性值 195
6.2.7 创建用户配置迁移代码 196
6.3 创建简单的定向广告 197
6.3.1 定义用户配置属性以跟踪内容偏好 197
6.3.2 构建定向广告的示例页面 198
6.4 购物车自定义属性 200
6.4.1 创建购物车 200
6.4.2 在Web.config中定义Shopping-Cart属性 203
6.4.3 构建产品显示组件以向购物车添加产品 204
6.4.4 构建购物车演示页面 207
6.4.5 带购物车的用户配置迁移 211
6.5 小结 212
第7章 使用Web部件框架构建门户 213
7.1 Web部件框架的概念 214
7.1.1 Web部件的概念 215
7.1.2 Web部件连接 215
7.1.3 门户页面显示模式 216
7.1.4 用区域定义门户区块 217
7.1.5 用户和共享范围 218
7.1.6 关闭和删除Web部件 221
7.1.7 隐藏和关闭Web部件 221
7.2 Web部件的接口、类和控件 222
7.2.1 IWebPart接口 222
7.2.2 Part类 225
7.2.3 WebPart类 225
7.2.4 GenericWebPart包装类 228
7.2.5 WebPartManager控件 229
7.2.6 ProxyWebPartManager控件 234
7.2.7 Web部件区域 234
7.2.8 WebPartZone控件和静态Web部件 235
7.2.9 CatalogZone控件和相关的目录部件 238
7.2.10 EditorZone控件和相关的编辑器部件 242
7.2.11 ConnectionsZone控件 246
7.3 构建Web部件示例 250
7.3.1 定义Web部件属性 251
7.3.2 实现基于UserControl的Web部件 252
7.3.3 实现自定义Web部件 260
7.4 高级Web部件主题 264
7.4.1 为Web部件添加自定义动词 265
7.4.2 连接提供方和接收方 267
7.4.3 导出Web部件配置文件 275
7.5 小结 277
第8章 适用于业务应用程序的有效搜索工具和技术 278
8.1 创建SqlQuery工具 279
8.1.1 目标和架构概览 279
8.1.2 Globals.vb中的枚举 280
8.1.3 SqlField类 281
8.1.4 SqlFieldCollection类 283
8.1.5 分析对象模型搜索中的WHERE子句 284
8.1.6 ISqlCondition接口 287
8.1.7 SqlCondition类 289
8.1.8 SqlConditionGroup类 290
8.1.9 构建SqlQuery类 301
8.1.10 SqlQuery类 303
8.1.11 使用SqlQuery对象构建查询 312
8.1.12 用SqlQuery类执行查询 316
8.1.13 用SqlQuery类执行分页查询 317
8.2 常用的搜索函数 318
8.2.1 日期范围搜索 319
8.2.2 使用DateRangeSearch 321
8.2.3 关键字搜索 322
8.2.4 使用CreateKeywords函数 326
8.3 显示基本和高级的搜索 327
8.3.1 ISearchControl接口 327
8.3.2 创建基本的搜索表单(SimpleForm.ascx) 328
8.3.3 创建高级搜索表单(AdvancedForm.ascx) 329
8.3.4 实现主搜索页面(EmployeeSearch.aspx) 330
8.3.5 基于用户控件的搜索表单的优势 333
8.4 小结 333
第9章 构建可复用的报表框架 334
9.1 构建报表框架 335
9.1.1 抽象类基础 335
9.1.2 解决方案架构 337
9.1.3 数据库 339
9.1.4 ISearchControl接口 340
9.1.5 分页和IpaginationControl接口 340
9.1.6 ReportFramework抽象类 342
9.2 使用报表框架创建报表 361
9.2.1 使用ISearchControl接口构建搜索表单 362
9.2.2 创建分页导航组件 364
9.2.3 构建报表页面的布局 367
9.2.4 开发报表页面的后置代码 368
9.2.5 运行报表页面 372
9.3 小结 372
第10章 基于Web的向导:避免重复的数据输入 373
10.1 Wizard控件概述 373
10.1.1 Wizard控件的布局和组成 374
10.1.2 重要的向导属性和事件 375
10.1.3 把步骤添加到向导 377
10.1.4 控制向导的导航 379
10.1.5 使用模板 384
10.2 模糊音搜索 387
10.2.1 语音码和Soundex函数 388
10.2.2 Difference函数的语音接近匹配 388
10.3 创建添加雇员向导 389
10.3.1 业务对象和实用函数 389
10.3.2 添加雇员向导 396
10.3.3 整个试一下 402
10.4 小结 402
第11章 上传文件 403
11.1 数据库与文件系统的比较 403
11.1.1 事务支持 404
11.1.2 实施参照完整性以及避免破坏文件链接 404
11.1.3 安全考虑 405
11.1.4 性能 405
11.1.5 数据备份和复制 406
11.1.6 编程的复杂性 406
11.1.7 未来的考虑 406
11.2 上传文件 407
11.2.1 FileUpload控件 407
11.2.2 用FileUpload控件保存文件 409
11.3 上传多个文件 409
11.3.1 客户端的多个文件上传 410
11.3.2 在服务器端保存多个文件 412
11.4 在数据库中保存文件 414
11.4.1 创建一个数据库表来存储文件 414
11.4.2 从客户端传递文件到服务器 415
11.4.3 保存单个文件到数据库 415
11.4.4 保存多个文件到数据库 417
11.5 从数据库获取上传的文件 418
11.6 小结 420
第12章 安全和加密 421
12.1 基本安全概念 421
12.1.1 安全术语 422
12.1.2 验证与授权 423
12.1.3 最小权限访问 423
12.1.4 进程、线程和令牌 423
12.1.5 角色扮演 425
12.1.6 委托 425
12.1.7 访问令牌和角色扮演的例子 425
12.2 ASP.NET安全架构概览 427
12.2.1 通过浏览器发送最初的请求 429
12.2.2 基于IP地址或者域的IIS授权 429
12.2.3 IIS验证 429
12.2.4 ASP.NET?ISAPI扩展和ASP.NET工作进程 430
12.2.5 应用程序对象和请求的安全上下文 432
12.2.6 ASP.NET的验证模块 432
12.2.7 URL授权模块 433
12.2.8 文件授权模块 433
12.2.9 处理真正的请求 434
12.3 安全配置 435
12.3.1 IIS的安全配置 435
12.3.2 用NTFS权限加强文件安全性 442
12.3.3 ASP.NET的安全配置设置 445
12.4 加密敏感信息 453
12.4.1 加密配置设置 453
12.4.2 用单向加密散列数据 457
12.4.3 用双向加密实现数据的加密和解密 461
12.4.4 使用加密库 468
12.5 小结 469
第13章 使用HTTP处理器:请求处理、图片生成以及内容管理 470
13.1 HTTP处理器概览 471
13.1.1 IIS和ASP.NET?HTTP流水线处理模型 471
13.1.2 HTTP处理器的常规用法 475
13.1.3 实现IHttpHandler接口 476
13.1.4 在IIS中映射文件扩展名 477
13.1.5 在ASP.NET中配置HTTP处理器 478
13.2 使用URL改写处理虚拟文件 480
13.2.1 创建报表页面 481
13.2.2 构建XlsReportHandler 483
13.2.3 HTTP处理器设计考虑 488
13.2.4 使用XlsReportHandler获取报表 490
13.3 用HTTP处理器生成缩略图 492
13.3.1 目标和解决方案架构 492
13.3.2 构建ThumbnailHandler 494
13.3.3 配置ThumbnailHandler 500
13.3.4 浏览Thumbnails 501
13.4 内容管理的后台 502
13.4.1 目标和解决方案架构 502
13.4.2 内容数据库设计 505
13.4.3 创建ContentManagement-Handler 506
13.4.4 配置ContentManagement-Handler 507
13.4.5 使用母版页创建内容模板 507
13.4.6 构建FrontController.aspx页面 509
13.4.7 构建FrontController.aspx.vb后置代码 509
13.4.8 Web用户控件和NoAction-Form 516
13.4.9 内容管理后台的下一步 517
13.5 小结 517
猜您喜欢

读书导航