第一部分 安全 2
第1章 使用Login控件 2
Login控件概览 2
使用Login控件 6
自动重定向用户到来源页面 7
自动隐藏已验证用户的Login控件 8
使用模板定制Login控件 9
使用Login控件执行自定义身份验证 11
使用CreateUserWizard控件 12
配置自定义用户表单字段 14
发送已创建用户电子邮件通知 16
用户自动重定向来源页面 18
自动生成密码 19
在CreateUserWizard控件中使用模板 24
在CreateUserWizard控件中添加注册步骤 26
使用LoginStatus控件 28
使用LoginName控件 29
使用ChangePassword控件 30
发送电子邮件通知密码更改 31
在ChangePassword控件中使用模板 32
使用PasswordRecovery控件 34
找回用户的原始密码 36
要求安全提示问题和答案 37
在PasswordRecovery控件中使用模板 37
使用Logi nView控件 39
小结 42
第2章 使用ASP.NETMembership 43
配置身份验证 43
配置Forms身份验证 44
使用无cookie的Forms身份验证 45
在Forms身份验证中使用相对超时限制 46
跨应用程序使用Forms身份验证 47
跨域使用Forms身份验证 49
使用FormsAuthentication类 50
使用User类 53
配置安全授权 54
角色授权 55
根据位置授权访问文件 56
对图片以及其他文件类型进行访问授权 56
对传统ASP页面进行访问授权 58
使用ASP.NET Membership 59
使用Membership API 59
加密和散列用户密码 62
修改用户密码条件 64
锁定坏用户 64
配置SQLMembershipProvider提供程序 66
配置ActiveDirectoryMembership-Provider 68
创建自定义Membership提供程序 71
使用角色管理器 73
配置SqlRoleProvider 73
配置WindowsTokenRoleProvider 76
配置AuthorizationStoreRole-Provider 77
在浏览器cookie中缓存角色 79
使用Roles API 80
小结 82
第二部分 创建ASP.NET应用程序 84
第3章 维护应用程序状态 84
使用浏览器cookie 84
cookie的安全性限制 85
创建cookie 86
读取cookie 88
设置cookie属性 90
删除cookie 90
使用多值cookie 92
使用Session状态 94
在Session状态中保存数据库数据 96
使用Session对象 98
处理Session事件 98
会话失效控制 100
使用无Cookie的Session状态 101
配置Session状态存储 102
配置SQL Server Session状态 104
使用用户配置文件 106
创建用户配置文件组 109
支持匿名用户 110
合并匿名用户配置文件 113
从自定义类继承Prof ile 113
创建复杂Profile属性 114
自动保存用户配置 119
从组件访问用户配置 122
使用配置文件管理器 123
配置用户配置提供程序 125
创建自定义用户配置提供程序 126
小结 130
第4章 缓存应用程序页面和数据 131
缓存概览 131
使用页面输出缓存 132
使用参数改变输出缓存 133
基于控件变化的输出缓存 136
基于头变化的输出缓存 137
基于浏览器变化的输出缓存 138
基于自定义函数变化的输出缓存 139
设置缓存位置 140
创建页面输出缓存文件依赖 142
使用编程方式设置页面输出缓存过期 143
以编程方式操作页面输出缓存 146
创建页面输出缓存配置 148
使用部分页面缓存 149
使用缓存后替换 149
用户控件缓存 152
共享用户控件的输出缓存 154
以编程方式处理用户控件缓存 154
创建用户控件缓存的文件依赖 155
缓存动态载入的用户控件 156
使用数据源缓存 158
使用绝对缓存过期策略 158
使用弹性缓存过期策略 160
使用0bjectDataSource控件缓存 161
使用XmlDataSource控件缓存 162
创建DataSource控件键依赖 163
使用数据缓存 165
使用缓存API 166
添加项目到缓存 167
使用绝对过期策略添加项目 168
使用弹性过期策略添加项目到缓存 169
使用依赖添加项目 171
指定缓存项目优先级 172
配置缓存 172
使用SQL缓存依赖 174
使用轮询SQL缓存依赖 174
配置轮询SQL缓存依赖 174
对页面输出缓存使用轮询SQL缓存依赖 176
对数据源缓存使用轮询SQL缓存依赖 177
对数据缓存使用轮询SQL缓存依赖 178
使用推SQL缓存依赖 179
配置推SQL缓存依赖 180
对页面输出缓存使用推SQL缓存依赖 181
对数据源缓存使用推SQL缓存依赖 182
对数据缓存使用推SQL缓存依赖 184
小结 185
第5章 多语言本地化应用程序 186
设置当前文化 186
手动设置文化 187
自动检测文化 192
在Web配置文件中设置文化 194
文化和ASP.NET控件 195
使用CultureInfo类 196
使用CultureInfo类格式化字符串值 196
比较和排序字符串值 198
创建本地资源 198
显式本地化表达式 198
隐式本地化表达式 200
对页面属性使用本地化资源 202
以编程方式获取本地资源 203
创建全局资源 204
以编程方式获取全局资源 206
使用强类型本地化表达式 206
使用Localize控件 207
小结 208
第6章 使用HTTP运行库 209
创建自定义BuildProvider 209
创建简单的BuildProvider 210
创建数据访问组件BuildProvider 213
创建自定义ExpressionBuilder 217
创建HTTP处理程序 221
创建一般处理程序 221
实现IHttpHandler接口 223
在IIS中注册扩展名 226
创建异步HTTP处理程序 228
使用HTTP应用程序和HTTP模块 231
创建Global.asax文件 231
创建自定义HTTP模块 233
小结 235
第7章 配置应用程序 236
网站配置概览 236
使用Web站点管理工具 237
使用ASP.NETMMC嵌入工具 238
ASP.NET配置节 239
把配置设置应用到特定路径 240
锁定配置文件 241
添加自定义应用程序设置 242
将配置设置放到外部文件 243
使用配置API 244
从当前应用程序读取配置节 245
打开配置文件 248
打开远程服务器上的配置文件 250
使用Configuration类 253
修改配置节 255
准备创建新的网站 257
创建自定义配置节 259
创建加密的配置节 266
使用aspnet_regiis工具加密配置节 267
以编程方式加密配置节 267
部署加密的Web配置文件 269
小结 271
第三部分 构建自定义控件 274
第8章 构建自定义控件 274
构建自定义控件概述 274
构建完全生成控件 275
构建组合控件 282
构建混合控件 284
视图状态和控件状态 288
支持视图状态 288
支持控件状态 290
处理回传数据和事件 293
处理回传数据 293
处理回传事件 296
使用控件属性集合 303
使用ParseChildren特性 303
使用AddParsedSub0bject()方法 308
使用ControlBuilder 309
构建更好的设计器体验 312
给控件应用设计时特性 312
创建控件设计器 315
创建ContainerControlDesigner 315
添加智能标签 318
小结 321
第9章 创建模板化数据绑定控件 322
创建模板化控件 322
实现ITemplate接口 322
创建默认模板 325
支持简化的数据绑定 328
支持双向数据绑定 331
创建模板化数据绑定控件 335
小结 339
第四部分 ASP.NETAJAX 342
第10章 使用服务器端ASP.NET AJAX 342
Ajax概况 342
服务器端Ajax与客户端Ajax 344
调试Ajax应用 344
使用UpdatePanel控件 345
指定UpdatePanel触发器 351
嵌套的UpdatePanel控件 353
以编程方式更新UpdatePanel 356
UpdatePanel与JavaScript 357
UpdatePanel服务器端页面执行生命周期 359
UpdatePanel客户端页面执行生命周期 361
取消当前异步回传 366
中断上一个异步回传 368
在一次异步回传中传递额外的信息 370
优雅地处理UpdatePanel错误 371
UpdatePanel的性能 375
使用Timer控件 377
使用UpdateProgress控件 380
小结 382
第11章 使用ASP.NET AJAX Control Toolkit 383
使用ASP.NET AJAX Control Toolkit 383
Toolkit控件概述 385
使用AutoComplete控件 387
通过页面方法使用AutoCompleteExtender 388
通过Web服务方法使用AutoCompleteExtender 390
在AutoCompleteExtender中使用文本/值对 392
使用DragPanel控件 395
使用FilteredTextBox控件 397
使用MaskedEdit控件 399
使用Animation控件 400
使用UpdatePanelAnimation控件 404
小结 407
第12章 使用客户端ASP.NETAJAX 408
让JavaScript看上去像C 408
使用Microsoft AJAX Library 409
创建AJAX Client Library 410
使用JavaScript智能感知 412
使用类 413
使用继承 416
使用命名空间 418
获取DOM元素 419
处理DOM事件 420
获取DOM事件的信息 422
创建回调和委托 424
调试和发布AJAX Library 426
调试微软AJAX应用 426
在客户端调用Web服务 429
调用外部Web服务 429
调用静态页面方法 432
使用AJAX编辑电影 433
使用验证服务 436
使用角色服务 439
使用Profile服务 441
创建自定义AJAX控件和行为 444
创建AJAX控件 444
在服务器端运行客户端控件 448
创建客户端行为 452
在服务器端运行客户端行为 455
小结 457
第五部分 示例程序 460
第13章 构建代码示例网站 460
示例网站概览 460
创建博客条目 461
创建代码示例条目 463
数据访问与验证 465
使用LINQ to SQL 465
处理通用数据库操作 467
创建单一插入和更新表单 467
处理表单验证 471
使用Ajax 472
使用UpdatePanel控件 472
使用ASP.NET AJAX Control Toolkit 472
使用VirtualPathProvider类 474
小结 475