《ASP.NET 3.5高级编程 上》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)伊夫杰(Evjen,B.),(美)汉森门(Hanselman,s.),(美)内达(Rader,D.)著;杨浩译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302181194
  • 页数:770 页
图书介绍:本书包括:服务器控件的概念及其在ASP.NET开发中的重要作用;调试、打包和部署ASP.NET应用程序,监控其运行状况和性能、处理错误;使用和扩展提供程序模型,来访问数据库、进程等。

上卷 1

第1章 应用程序和页面框架 1

1.1 应用程序的位置选项 1

1.1.1 内置的Web服务器 1

1.1.2 IIS 3

1.1.3 FTP 4

1.1.4 Web站点需要FrontPageExtensions 4

1.2 ASP.NET页面结构选项 5

1.2.1 内嵌编码 7

1.2.2 后台编码模型 9

1.3 ASP.NET 3.5的Page指令 11

1.3.1 @Page指令 12

1.3.2 @Master指令 14

1.3.3 @Control指令 15

1.3.4 @Import指令 16

1.3.5 @Implements指令 18

1.3.6 @Register指令 18

1.3.7 @Assembly指令 19

1.3.8 @PreviousPageType指令 19

1.3.9 @MasterType指令 19

1.3.10 @OutputCache指令 20

1.3.11 @Reference指令 20

1.4 ASP.NET页面的事件 21

1.5 处理回送 22

1.6 跨页面的传送 23

1.7 ASP.NET应用程序文件夹 29

1.7.1 \App_Code文件夹 30

1.7.2 \App_Data文件夹 34

1.7.3 \App_Themes文件夹 34

1.7.4 \App_GlobalResources文件夹 35

1.7.5 \App_LocalResources文件夹 35

1.7.6 \App_WebReferences文件夹 35

1.7.7 \App_Browsers文件夹 35

1.8 编译 35

1.9 建立提供程序 39

1.9.1 使用内置的提供程序 40

1.9.2 使用自己的提供程序 41

1.10 Global.asax 46

1.11 通过Visual Studio 2008使用类 50

1.12 小结 54

第2章 ASP.NET服务器控件和客户端脚本 57

2.1 ASP.NET服务器控件 57

2.1.1 服务器控件的类型 58

2.1.2 用服务器控件构建页面 59

2.1.3 处理服务器控件的事件 61

2.2 给服务器控件应用样式 63

2.2.1 控件的常见属性 63

2.2.2 使用层叠样式表改变样式 64

2.3 HTML服务器控件 68

2.3.1 HtmlControl基类 71

2.3.2 HtmlContainerControl类 71

2.3.3 所有的HTML类 71

2.3.4 使用HtmlGenericControl类 73

2.4 通过JavaScript处理页面和服务器控件 74

2.4.1 使用Page.ClientScript.RegisterClientScriptBlock 75

2.4.2 使用Page.ClientScript.RegisterStartupScript 77

2.4.3 使用Page.ClientScript.RegisterClientScriptInclude 79

2.5 客户端回调 79

2.5.1 比较典型的回送和回调 79

2.5.2 使用回调功能:一种简单的方法 81

2.5.3 使用带一个参数的回调功能 86

2.5.4 使用回调功能:一个复杂的例子 89

2.6 小结 95

第3章 ASP.NETWeb服务器控件 97

3.1 Web服务器控件概述 97

3.2 Label服务器控件 98

3.3 Literal服务器控件 100

3.4 TextBox服务器控件 101

3.4.1 使用Focus()方法 102

3.4.2 使用AutoPostBack 102

3.4.3 使用AutoCompleteType 104

3.5 Button服务器控件 105

3.5.1 CausesValidation属性 105

3.5.2 CommandName属性 105

3.5.3 使用客户端JavaScript的按钮 106

3.6 LinkButton服务器控件 108

3.7 ImageButton服务器控件 109

3.8 HyperLink服务器控件 110

3.9 DropDownList服务器控件 111

3.10 从集合中可视化地删除条目 114

3.11 ListBox服务器控件 115

3.11.1 允许用户选择多项 116

3.11.2 使用ListBox控件的例子 116

3.11.3 给集合添加条目 118

3.12 CheckBox服务器控件 119

3.12.1 确定复选框是否被选中 120

3.12.2 给复选框赋值 120

3.12.3 排列复选框的文本 121

3.13 CheckBoxList服务器控件 121

3.14 RadioButton服务器控件 124

3.15 RadioButtonList服务器控件 126

3.16 Image服务器控件 127

3.17 Table服务器控件 129

3.18 Calendar服务器控件 131

3.18.1 从Calendar控件中选择一个日期 132

3.18.2 从Calendar控件中选择要输出的日期格式 133

3.18.3 选择日期、星期或月份 133

3.18.4 使用日期范围 134

3.18.5 修改日历的样式和操作方式 136

3.19 AdRotator服务器控件 139

3.20 Xml服务器控件 141

3.21 Panel服务器控件 142

3.22 PlaceHolder服务器控件 144

3.23 BulletedList服务器控件 144

3.24 HiddenField服务器控件 150

3.25 FileUpload服务器控件 151

3.25.1 使用FileUpload控件上传文件 151

3.25.2 指定正确的ASP.NET权限第1章给上传文件 154

3.25.3 理解文件大小的限制 155

3.25.4 从同一个页面上传多个文件 157

3.25.5 把上传的文件放在Stream对象中 160

3.25.6 把文件内容从Stream对象移动到Byte数组中 161

3.26 MultiView和View服务器控件 161

3.27 Wizard服务器控件 165

3.27.1 定制边栏导航 167

3.27.2 AllowReturn属性 168

3.27.3 使用StepType属性 168

3.27.4 给Wizard控件添加标题 168

3.27.5 使用向导的导航系统 169

3.27.6 使用Wizard控件的事件 170

3.27.7 使用Wizard控件显示窗体元素 171

3.28 ImageMap服务器控件 176

3.29 小结 178

第4章 验证服务器控件 179

4.1 有效性验证 179

4.2 客户端和服务器端的验证 180

4.3 ASP.NET验证服务器控件 181

4.3.1 验证原因 182

4.3.2 RequiredFieldValidator服务器控件 182

4.3.3 CompareValidator服务器控件 187

4.3.4 RangeValidator服务器控件 190

4.3.5 RegularExpressionValidator服务器控件 194

4.3.6 CustomValidator服务器控件 195

4.3.7 ValidationSummary服务器控件 201

4.4 关闭客户端验证功能 204

4.5 为错误通知使用图像和声音 205

4.6 使用验证组 206

4.7 小结 210

第5章 使用Master页面 211

5.1 需要Master页面的原因 211

5.2 Master页面基础 213

5.3 编写Master页面 214

5.4 编写内容页面 217

5.4.1 混合页面类型和语言 221

5.4.2 指定要使用的Master页面 222

5.4.3 使用页面标题 223

5.4.4 使用Master页面中的控件和属性 224

5.5 在Master页面中指定默认内容 231

5.6 以编程方式将Master页面赋予内容页面 233

5.7 Master页面的嵌套 234

5.8 容器特定的Master页面 238

5.9 事件的触发顺序 239

5.10 高速缓存Master页面 240

5.11 ASP.NET AJAX和Master页面 240

5.12 小结 243

第6章 主题和Skin 245

6.1 使用ASP.NET中的主题 245

6.1.1 给单个ASP.NET页面应用主题 245

6.1.2 把主题应用于整个应用程序 247

6.1.3 删除服务器控件中的主题 247

6.1.4 删除Web页面上的主题特性 248

6.1.5 使用Master页面时理解主题 248

6.1.6 StyleSheetTheme属性 249

6.2 创建自己的主题 249

6.2.1 创建正确的文件夹结构 250

6.2.2 创建Skin 250

6.2.3 在主题中包含CSS文件 253

6.2.4 使主题包含图像 255

6.3 定义多个Skin选项 258

6.4 编程使用主题 260

6.4.1 编程指定页面的主题 260

6.4.2 编程指定控件的SkinID 261

6.5 主题、Skin和定制控件 261

6.6 小结 265

第7章 ASP.NET 3.5中的数据绑定 267

7.1 数据源控件 267

7.1.1 SqlDataSource控件 269

7.1.2 LINQ数据源控件 280

7.1.3 AccessDataSource控件 285

7.1.4 XmlDataSource控件 285

7.1.5 ObjectDataSource控件 286

7.1.6 SiteMapDataSource控件 291

7.2 配置数据源控件的高速缓存 291

7.3 存储连接信息 292

7.4 使用绑定的列表控件和数据源控件 295

7.4.1 GridView 295

7.4.2 编辑GridView中的数据行 311

7.4.3 删除GridView数据 318

7.4.4 DetailsView 320

7.4.5 使用DetailsView插入、更新和删除数据 326

7.4.6 ListView 328

7.4.7 FormView控件 335

7.5 其他数据绑定控件 340

7.5.1 DropDownList、ListBox、RadioButtonList和CheckBoxList 340

7.5.2 TreeView控件 340

7.5.3 Ad Rotator控件 341

7.5.4 Menu 341

7.6 内部数据绑定语法 342

7.6.1 DataBinder语法的变化 343

7.6.2 XML数据绑定 343

7.7 表达式和表达式构建器 344

7.8 小结 349

第8章 使用ADO.NET管理数据 351

8.1 ADO.NET的基本功能 351

8.1.1 常见的ADO.NET任务 352

8.1.2 ADO.NET的基本命名空间和类 357

8.1.3 使用Connection对象 358

8.1.4 使用Command对象 359

8.1.5 使用DataReader对象 360

8.1.6 使用数据适配器 363

8.1.7 使用参数 365

8.1.8 DataSet和DataTable 369

8.1.9 将Oracle用作ASP.NET 3.5的数据库 374

8.2 DataList服务器控件 376

8.2.1 可用的模板 376

8.2.2 使用ItemTemplate 377

8.2.3 使用其他布局模板 380

8.2.4 使用多个列 382

8.3 ListView服务器控件 383

8.3.1 可用的模板 383

8.3.2 使用模板 384

8.3.3 创建布局模板 385

8.3.4 创建ItemTemplate 387

8.3.5 创建EditItemTemplate 388

8.3.6 创建EmptyItemTemplate 388

8.3.7 创建InsertItemTemplate 389

8.3.8 结果 389

8.4 给ADO.NET任务使用Visual Studio 391

8.4.1 建立与数据源的连接 392

8.4.2 使用DataSet设计器 394

8.4.3 使用DataSet对象CustomerOrders 398

8.5 命令的异步执行 403

8.5.1 SqlCommand类的异步方法 403

8.5.2 IAsyncResult接口 404

8.5 3 AsyncCallback 404

8.5.4 WaitHandle类 405

8.5.5 ADO.NET中异步处理的方式 406

8.5.6 取消异步处理 423

8.5.7 异步连接 424

8.6 小结 424

第9章 使用LINQ查询 425

9.1 LINQ to Objects 425

9.1.1 传统的查询方法 425

9.1.2 用LINQ替代传统的查询 435

9.1.3 数据分组 442

9.1.4 其他LINQ运算符 443

9.1.5 LINQ连接 444

9.1.6 使用LINQ分页 446

9.2 LINQ to XML 447

9.3 LINQ to SQL 452

9.3.1 通过LINQ插入、更新和删除查询 461

9.3.2 扩展LINQ 465

9.4 小结 465

第10章 使用XML和LINQ to XML 467

10.1 XML的基础 468

10.1.1 XML InfoSet 470

10.1.2 XSD/XML模式定义 471

10.1.3 在Visual Studio 2008中编辑XML和XML模式 472

10.2 XmlReader和XmlWriter 475

10.2.1 使用XDocument替代XmlReader 477

10.2.2 使用模式和XmlTextReader 479

10.2.3 使用XDocument根据模式来验证 481

10.2.4 包含NameTable优化 482

10.2.5 从XML中提取.NET CLR类型 485

10.2.6 ReadSubtree和XmlSerialization 486

10.2.7 以LINQ to XML从XML中创建CLR对象 488

10.2.8 用XmlWriter创建XML 489

10.2.9 用LINQ for XML创建XML 492

10.2.10 2.0版本中XmlReader和XmlWriter的改进 495

10.3 XmlDocument和XPathDocument 495

10.3.1 DOM存在的问题 495

10.3.2 XPath、XPathDocument和XmlDocument 496

10.4 DataSet 500

10.4.1 把DataSet保存到XML中 500

10.4.2 XmlDataDocument 502

10.5 XmlDataSource控件 503

10.6 XSLT 507

10.6.1 XslCompiledTransform 509

10.6.2 XSLT调试 513

10.7 数据库和XML 514

10.7.1 FOR XML AUTO子句 514

10.7.2 SQL Server 2005和XML数据类型 518

10.8 小结 524

第11章 IIS7.0开发 527

11.1 IIS7的模块化体系结构 527

11.1.1 IIS-WebServer 528

11.1.2 IIS-WebServer ManagementTools 530

11.1.3 IIS-FTPPulishingService 531

11.2 IIS7的扩展体系结构 531

11.3 IIS7和ASP.NET集成的管道 532

11.4 建立定制的Web服务器 533

11.4.1 更新的依赖关系 534

11.4.2 在Windows Vista上安装IIS7 535

11.4.3 在Windows Server 2008上安装IIS7 535

11.4.4 命令行安装选项 536

11.4.5 Unattended安装选项 537

11.4.6 升级 537

11.5 Internet Information Services(IIS)管理器 538

11.5.1 Application Pools 539

11.5.2 Web Sites 542

11.5.3 层次结构的配置 544

11.5.4 委托 548

11.6 把应用程序从IIS6迁移到IIS7 551

11.7 小结 553

第12章 提供程序模型概述 555

12.1 提供程序概述 555

12.2 ASP.NET 3.5中的提供程序模型 557

12.2.1 设置提供程序,以使用Microsoft SQL Server 7.0、2000、2005或2008 558

12.2.2 Membership提供程序 564

12.2.3 Role提供程序 568

12.2.4 Personalization提供程序 573

12.2.5 SiteMap提供程序 574

12.2.6 SessionState提供程序 575

12.2.7 Web事件提供程序 578

12.2.8 配置提供程序 586

12.2.9 WebParts提供程序 589

12.3 提供程序的配置 590

12.4 小结 591

第13章 扩展提供程序模型 593

13.1 提供程序是较大体系结构中的一层 593

13.2通过基于属性的编程改变提供程序的行为 594

13.2.1 通过SqlMembershipProvider建立简单的密码结构 594

13.2.2 通过SqlMembershipProvider建立强类型的密码结构 597

13.3 ProviderBase类 598

13.4 建立自己的提供程序 600

13.4.1 创建CustomProviders应用程序 601

13.4.2 构建需要的类框架 602

13.4.3 创建XML用户数据存储 606

13.4.4 在web.config文件中定义提供程序实例 606

13.4.5 没有实现MembershipProvider类的方法和属性 607

13.4.6 实现MembershipProvider类的方法和属性 608

13.4.7 使用XmlMembershipProvider进行用户登录 616

13.5 扩展预定义的提供程序 617

13.5.1 用新的LimitedSqlRoleProvider提供程序限制角色功能 618

13.5.2 使用新的LimitedSqlRoleProvider提供程序 622

13.6 小结 626

第14章 站点导航 627

14.1 基于XML的站点地图 627

14.2 SiteMapPath服务器控件 629

14.2.1 PathSeparator属性 632

14.2.2 PathDirection属性 633

14.2.3 ParentLevelsDisplayed属性 634

14.2.4 ShowToolTips属性 635

14.2.5 SiteMapPath控件的子元素 635

14.3 TreeView服务器控件 635

14.3.1 标识TreeView控件的内置样式 639

14.3.2 TreeView控件的各个部分 640

14.3.3 在XML文件中绑定TreeView控件 641

14.3.4 在TreeView中选择多个选项 644

14.3.5 在TreeView控件中指定定制的图标 647

14.3.6 指定用于连接节点的线条 649

14.3.7 编程使用TreeView控件 650

14.4 Menu服务器控件 656

14.4.1 给Menu控件应用不同的样式 657

14.4.2 Menu事件 662

14.4.3 把Menu控件绑定到XML文件上 663

14.5 SiteMap数据提供程序 665

14.5.1 ShowStartingNode属性 665

14.5.2 StartFromCurrentNode属性 666

14.5.3 StartingNodeOffset属性 667

14.5.4 StartingNodeUrl属性 667

14.6 SiteMap API 668

14.7 URL映射 671

14.8 站点地图的本地化 672

14.8.1 为本地化构建Web.sitemap文件 672

14.8.2 修改Web.config文件 673

14.8.3 创建程序集资源(.resx)文件 673

14.8.4 测试结果 675

14.9 安全补偿 676

14.9.1 启动管理员的角色管理功能 676

14.9.2 建立管理员的配置段 677

14.9.3 启用安全补偿功能 679

14.10 嵌套站点地图文件 681

14.11 小结 682

第15章 个性化 685

15.1 个性化模型 685

15.2 创建个性化属性 686

15.2.1 添加简单的个性化属性 686

15.2.2 使用个性化属性 688

15.2.3 添加一组个性化属性 691

15.2.4 使用分组的个性化属性 692

15.2.5 为个性化属性定义类型 693

15.2.6 使用定制的类型 693

15.2.7 提供默认值 696

15.2.8 把个性化属性指定为只读 696

15.3 匿名个性化 697

15.3.1 支持终端用户的匿名身份 697

15.3.2 使用匿名身份事件 700

15.3.3 个性化属性的匿名选项 700

15.3.4 有关匿名用户配置信息的警告 701

15.4 编程访问个性化功能 702

15.4.1 迁移匿名用户 702

15.4.2 profile的个性化 704

15.4.3 确定是否继续自动保存profile值 705

15.5 个性化提供程序 706

15.5.1 使用SQL Server Express Edition 706

15.5.2 使用Microsoft的SQL Server 7.0/2000/2005/2008 707

15.5.3 使用多个提供程序 709

15.6 管理应用程序的配置信息 710

15.6.1 ProfileManager类的属性 710

15.6.2 ProfileManager类的方法 711

15.6.3 建立ProfileManager.aspx页面 711

15.6.4 检验ProfileManager.aspx页面的代码 715

15.6.5 运行ProfileManager.aspx页面 716

15.7 小结 716

第16章 成员和角色管理 719

16.1 身份验证 719

16.2 授权 719

16.3 ASP.NET 3.5的身份验证 720

16.3.1 为成员建立Web站点 720

16.3.2 添加用户 722

16.3.3 请求证书 737

16.3.4 处理验证用户 745

16.3.5 显示在线用户数 747

16.3.6 处理密码 749

16.4 ASP.NET 3.5的授权 753

16.4.1 使用LoginView服务器控件 753

16.4.2 为角色管理建立Web站点 756

16.4.3 添加和检索应用程序角色 759

16.4.4 删除角色 761

16.4.5 给角色添加用户 762

16.4.6 获取某个角色的所有用户 762

16.4.7 获取包含某个用户的所有角色 764

16.4.8 从角色中删除用户 765

16.4.9 检查角色中的用户 766

16.4.10 角色的高速缓存方式 767

16.5 使用Web站点管理工具 768

16.6 Membership API的公共方法 769

16.7 Roles API的公共方法 769

16.8 小结 770

下卷 771

第17章 Portal Framework和Web Part 771

17.1 Web Part简介 771

17.2 建立动态的模块化Web站点 773

17.2.1 WebPartManager控件 773

17.2.2 使用区域进行布局 774

17.2.3 WebPartZone控件 777

17.2.4 允许用户改变页面的模式 779

17.2.5 修改区域 790

17.3 使用Portal Framework中的类 796

17.4 创建定制的Web Part 799

17.5 连接Web Part 805

17.5.1 建立提供程序Web Part 806

17.5.2 建立用户Web Part 809

17.5.3 连接ASP.NET页面上的Web Part 811

17.5.4 连接Web Part时处理Master页面的难点 814

17.6 小结 815

第18章 用ASP.NET进行HTML和CSS设计 817

18.1 警告 817

18.2 HTML和CSS概述 818

18.2.1 CSS的引入 819

18.2.2 创建样式表 819

18.2.3 CSS规则 822

18.2.4 CSS继承 831

18.2.5 元素的布局和定位 832

18.2.6 在Visual Studio中使用HTML和CSS 839

18.2.7 ASP.NET 2.0 CSS——友好的控件适配器 846

18.3 小结 847

第19章 ASP.NET AJAX 849

19.1 理解对AJAX的需求 849

19.1.1 在AJAX出现之前 850

19.1.2 AJAX改变了这个过程 850

19.2 ASP.NET AJAX和Visual Studio 2008 853

19.2.1 客户端技术 853

19.2.2 服务器端技术 854

19.2.3 用ASP.NET AJAX开发 854

19.3 ASP.NET AJAX应用程序 855

19.3.1 建立没有AJAX的简单ASP.NET页面 857

19.3.2 建立包含AJAX的简单ASP.NET页面 858

19.4 ASP.NET AJAX的服务器端控件 864

19.4.1 ScriptManager控件 865

19.4.2 ScriptManagerProxy控件 867

19.4.3 Timer控件 869

19.4.4 UpdatePanel控件 870

19.4.5 UpdateProgress控件 875

19.5 使用多个UpdatePanel控件 877

19.6 小结 881

第20章 ASP.NET AJAX控件工具集 883

20.1 下载和安装 883

20.1.1 新的Visual Studio模板 884

20.1.2 给Visual Studio 2008工具箱添加新控件 885

20.2 ASP.NET AJAX控件 887

20.2.1 ASP.NET AJAX控件工具集的扩展程序 889

20.2.2 ASP.NET AJAX控件工具集中的服务器控件 936

20.3 小结 944

第20章 安全性 945

21.1 身份验证和授权 945

21.2 应用身份验证措施 946

21.2.1 〈authentication〉节点 946

21.2.2 基于Windows的身份验证 947

21.2.3 基于窗体的身份验证 955

21.2.4 Passport身份验证 964

21.3 验证特定的文件和文件夹 965

21.4 编程授权 966

21.4.1 使用User.Identity 966

21.4.2 使用User.IsInRole() 967

21.4.3 用WindowsIdentity显示更多信息 968

21.5 身份和模拟 971

21.6 通过IIS进行保护 973

21.6.1 IP地址和域名限制 973

21.6.2 使用文件扩展名 974

21.6.3 使用ASP.NET MMC管理单元 977

21.6.4 使用IIS 7.0 Manager 979

21.7 小结 979

第22章 状态管理 981

22.1 如何选择 981

22.2 ASP.NET中的Session对象 984

22.2.1 会话和事件模型 984

22.2.2 配置会话状态的管理 985

22.2.3 进程中的会话状态 986

22.2.4 进程外的会话状态 993

22.2.5 SQL支持的会话状态 999

22.2.6 用其他提供程序扩展会话状态 1002

22.2.7 无cookie的会话状态 1003

22.2.8 选择维护状态的正确方式 1004

22.3 Application对象 1005

22.4 查询字符串 1005

22.5 cookie 1006

22.6 回送和跨页面的回送 1006

22.7 隐藏的字段、ViewState和ControlState 1009

22.8 为短时间状态存储应用HttpContext.Current.Items 1013

22.9 小结 1014

第23章 高速缓存 1015

23.1 高速缓存 1015

23.1.1 输出高速缓存 1015

23.1.2 部分页面(UserControl)的高速缓存 1018

23.1.3 Post-Cache Substitution 1019

23.1.4 HttpCachePolicy和客户端高速缓存 1021

23.2 编程高速缓存 1024

23.2.1 使用Cache对象高速缓存数据 1024

23.2.2 控制ASP.NET高速缓存 1025

23.2.3 高速缓存依赖性 1025

23.3 使用SQL Server高速缓存依赖性 1031

23.3.1 使数据库支持SQL Server高速缓存禁用功能 1031

23.3.2 使表支持SQL Server高速缓存禁用功能 1032

23.3.3 对SQL Server 2000的影响 1032

23.3.4 查看支持SQL高速缓存禁用功能的表 1033

23.3.5 使表不支持SQL Server高速缓存禁用功能 1034

23.3.6 使数据库不支持SQL Server高速缓存禁用功能 1034

23.3.7 SQL Server 2005高速缓存禁用功能 1035

23.4 配置ASP.NET应用程序 1036

23.5 测试SQL Server高速缓存禁用功能 1037

23.5.1 给页面添加多个表 1039

23.5.2 给SQL Server高速缓存依赖性和Request对象建立关联 1039

23.5.3 给SQL Server高速缓存依赖性和Cache对象建立关联 1040

23.6 小结 1044

第24章 调试和错误处理技术 1045

24.1 设计期间的支持 1045

24.1.1 语法通知 1045

24.1.2 Immediate和Command窗口 1047

24.1.3 任务列表 1048

24.2 跟踪 1049

24.2.1 System.Diagnostics.Trace和ASP.NET的Page.Trace 1049

24.2.2 页面级的跟踪 1049

24.2.3 应用程序的跟踪 1050

24.2.4 查看跟踪数据 1050

24.2.5 在组件中跟踪 1053

24.2.6 跟踪的传送 1055

24.2.7 TraceListener 1055

24.2.8 诊断选项 1060

24.2.9 Web事件 1061

24.3 调试 1063

24.3.1 需要的内容 1063

24.3.2 IIS和ASP.NET开发服务器 1064

24.3.3 启动调试会话 1065

24.3.4 有助于调试的新工具 1068

24.3.5 客户端的Javascript调试 1071

24.3.6 SQL存储过程的调试 1073

24.4 异常和错误处理 1073

24.4.1 处理页面上的异常 1074

24.4.2 处理应用程序异常 1075

24.4.3 HTTP状态码 1076

24.5 小结 1077

第25章 文件I/O和流 1079

25.1 使用驱动器、目录和文件 1079

25.1.1 DriveInfo类 1079

25.1.2 Directory和DirectoryInfo类 1083

25.1.3 File和FileInfo类 1090

25.1.4 使用路径 1094

25.1.5 文件和目录的属性、特性和访问控制列表 1098

25.2 读写文件 1105

25.2.1 Stream类 1106

25.2.2 Reader和Writer类 1110

25.2.3 压缩流 1114

25.3 处理串行端口 1119

25.4 网络通信 1120

25.4.1 WebRequest和WebResponse 1121

25.4.2 发送邮件 1127

25.5 小结 1128

第26章 用户控件和服务器控件 1129

26.1 用户控件 1129

26.1.1 创建用户控件 1129

26.1.2 与用户控件交互 1132

26.1.3 动态加载用户控件 1134

26.2 服务器控件 1139

26.2.1 WebControl项目的建立 1140

26.2.2 控件的属性 1145

26.2.3 控件的显示 1146

26.2.4 添加标记属性 1150

26.2.5 给HTML设置样式 1152

26.2.6 主题和Skin 1154

26.2.7 添加客户端特性 1156

26.2.8 检测和响应浏览器功能 1165

26.2.9 使用ViewState 1168

26.2.10 引发PostBack事件 1173

26.2.11 处理回送数据 1177

26.2.12 复合控件 1178

26.2.13 模板化控件 1182

26.2.14 在设计期间创建控件 1189

26.3 小结 1209

第27章 模块和处理程序 1211

27.1 处理HTTP请求 1211

27.1.1 IIS 5/6和ASP.NET 1211

27.1.2 IIS 7和ASP.NET 1212

27.1.3 ASP.NET请求处理 1213

27.2 HttpModule 1214

27.2.1 修改HTTP输出 1215

27.2.2 URL的重写 1218

27.2.3 IIS通配符 1222

27.3 HttpHandler 1224

27.3.1 一般的处理程序 1224

27.3.2 在IIS中映射文件扩展名 1229

27.4 小结 1231

第28章 使用业务对象 1233

28.1 使用ASP.NET 3.5中的业务对象 1233

28.1.1 创建预编译的.NET业务对象 1233

28.1.2 在ASP.NET应用程序中使用预编译的业务对象 1236

27.2 COM交互操作性:在.NET中使用COM 1237

28.2.1 运行库可调用包装(RCW) 1238

28.2.2 在ASP.NET代码中使用COM对象 1239

28.2.3 错误处理 1243

28.2.4 用.NET.应用程序部署COM组件 1246

28.3 在非托管代码中使用.NET 1248

28.3.1 COM可调用包装(CCW) 1248

28.3.2 在COM对象中使用.NET组件 1250

28.3.3 早期绑定和后期绑定 1253

28.3.4 错误处理 1254

28.3.5 用COM应用程序部署.NET组件 1256

28.4 小结 1257

第29章 建立和使用服务 1259

29.1 不同系统之间的通信 1259

29.2 建立一个简单的XML Web服务 1261

29.2.1 WebService页面指令 1262

29.2.2 查看Web服务的基类文件 1263

29.2.3 把定制的数据集显示为SOAP 1264

29.2.4 XML Web服务接口 1267

29.3 使用简单的XML Web服务 1269

29.3.1 添加Web引用 1270

29.3.2 在客户应用程序中调用Web服务 1271

29.4 Web服务的传输协议 1274

29.4.1 HTTP-GET 1275

29.4.2 HTTP-POST 1277

29.4.3 SOAP 1278

29.5 Web方法的重载 1278

29.6 高速缓存Web服务的响应 1282

29.7 SOAP标题 1282

29.7.1 用SOAP标题建立Web服务 1283

29.7.2 通过SOAP标题使用Web服务 1285

29.7.3 使用SOAP 1.2请求Web服务 1287

29.8 异步使用Web服务 1289

29.9 Windows Communication Foundation 1292

29.9.1 迈向SOA的一大步 1293

29.9.2 WCF概述 1293

29.9.3 建立WCF服务 1294

29.10 建立WCF使用程序 1301

29.10.1 添加服务引用 1301

29.10.2 使用数据合同 1304

29.10.3 命名空间 1310

29.11 小结 1310

第30章 本地化 1311

30.1 文化和地区 1311

30.1.1 理解文化类型 1312

30.1.2 ASP.NET线程 1313

30.1.3 服务器端的文化声明 1316

30.1.4 客户端的文化声明 1317

30.1.5 翻译值和行为 1318

30.2 ASP.NET 3.5资源文件 1326

30.2.1 使用本地资源 1326

30.2.2 使用全局资源 1332

30.3 资源编辑器 1335

30.4 小结 1335

第31章 配置 1337

31.1 配置概述 1337

31.1.1 服务器配置文件 1338

31.1.2 应用程序配置文件 1341

31.1.3 配置设置的应用 1341

31.1.4 检测配置文件的变化 1342

31.1.5 配置文件的格式 1342

31.2 公共配置设置 1343

31.2.1 连接字符串 1343

31.2.2 配置会话状态 1344

31.2.3 编译配置 1349

31.2.4 浏览器的功能 1350

31.2.5 定制错误 1353

31.2.6 身份验证 1354

31.2.7 匿名身份 1356

31.2.8 授权 1357

31.2.9 锁定配置设置 1359

31.2.10 ASP.NET页面配置 1360

31.2.11 include文件 1361

31.2.12 配置ASP.NET运行时设置 1362

31.2.13 配置ASP.NET辅助进程 1364

31.2.14 存储与应用程序相关的设置 1367

31.2.15 配置文件的编程 1367

31.2.16 保护配置设置 1374

31.2.17 编辑配置文件 1378

31.3 创建定制段 1380

31.3.1 使用NameValueFile SectionHandler对象 1380

31.3.2 使用Dictionary SectionHandler对象 1382

31.3.3 使用SingleTag SectionHandler对象 1384

31.3.4 使用定制的配置处理程序 1385

31.4 小结 1387

第32章 测试 1389

32.1 使用事件日志 1389

32.1.1 读取事件日志 1389

32.1.2 写入事件日志 1392

32.2 使用性能计数器 1395

32.2.1 通过管理工具查看性能计数器 1395

32.2.2 建立基于浏览器的管理工具 1397

32.3 应用程序的跟踪 1402

32.4 健康监控 1403

32.4.1健康监控系统的提供程序模型 1404

32.4.2 健康监控的配置 1405

32.4.3 通过配置写入事件:运行示例 1412

32.4.4 把事件路由到SQL Server中 1413

32.4.5 缓存Web事件 1416

32.4.6 通过电子邮件发送Web事件 1418

32.5 小结 1423

第33章 管理 1425

33.1 ASP.NET Web站点管理工具 1425

33.1.1 Home选项卡 1426

33.1.2 Security选项卡 1427

33.1.3 Application选项卡 1436

33.1.4 Provider选项卡 1439

33.2 在Vista的IIS上配置ASP.NET 1440

33.2.1 .NET编译 1441

33.2.2 .NET Globalization 1442

33.2.3 .NET Profile 1442

33.2.4 .NET Roles 1443

33.2.5 .NET Trust Levels 1444

33.2.6 .NET Users 1444

33.2.7 Application Settings 1445

33.2.8 Connection Strings 1446

33.2.9 Pages and Controls 1447

33.2.10 Providers 1447

33.2.11 Session State 1447

33.2.12 SMTPE-mail 1448

33.3 小结 1449

第34章 打包和部署ASP.NET应用程序 1451

34.1 部署各个部分 1451

34.2 部署之前的准备 1452

34.3 部署Web应用程序的方法 1453

34.3.1 使用XCOPY 1453

34.3.2 使用VS Copy Web Site选项 1455

34.3.3 部署预编译的Web应用程序 1458

34.3.4 建立安装程序 1460

34.4 安装程序的选项 1468

34.4.1 使用部署项目的属性 1468

34.4.2 File System编辑器 1472

34.4.3 Registry编辑器 1475

34.4.4 File Types编辑器 1476

34.4.5 User Interface编辑器 1477

34.4.6 Custom Actions编辑器 1479

34.4.7 Launch Conditions编辑器 1480

34.5 小结 1481

附录A 迁移ASP.NET旧项目 1483

A.1 迁移过程并不难 1483

A.1.1 同时运行Framework的多个版本 1483

A.1.2 升级ASP.NET应用程序 1483

A.2 混合版本——窗体验证 1485

A.3 升级——ASP.NET保留的文件夹 1486

A.4 ASP.NET 3.5页面是XHTML 1487

A.5 在ASP.NET 3.5中没有硬编码的.js文件 1489

A.6 在Visual Studio 2008中转换ASP.NET 1.X应用程序 1489

A.7 从ASP.NET 2.0迁移到3.5 1494

附录B ASP.NET终极工具 1497

B.1 调试更简单 1497

B.1.1 Firebug 1497

B.1.2 YSlow 1498

B.1.3 IE WebDeveloper和Firefox WebDeveloper工具栏 1500

B.1.4 Aptana Studio——JavaScript IDE 1501

B.1.5 评测器:dotTrace或ANTS 1502

B.2 参考资料 1503

B.2.1 PositionlsEverything.net、QuirksMode.org和HTMLDog.com 1503

B.2.2 Visibone 1504

B.2.3 www.asp.net 1504

B.3 整理代码 1504

B.3.1 来自Devexpress的Refactor!for ASP.NET 1504

B.3.2 Code Style Enforcer 1505

B.3.3 Packer for.NET——Javascript最小化器 1506

B.4 Visual Studio插件 1507

B.4.1 用于Visual Studio的ASPX Edit Helper插件 1507

B.4.2 Power Toys Pack Installer 1508

B.5 扩展ASP.NET 1509

B.5.1 ASP.NET AJAX控件工具集 1509

B.5.2 Atif Aziz的ELMAH——错误记录模块和处理程序 1510

B.5.3 Helicon的ISAPI_Rewrite 1511

B.6 一般目的的开发工具 1512

B.6.1 Telerik的在线代码转换器 1512

B.6.2 WinMerge和Differencing工具 1513

B.6.3 Reflector 1514

B.6.4 CR_Documentor 1515

B.6.5 Process Explorer 1516

B.7 小结 1517

附录C Silverlight 1519

C.1 用Silverlight扩展ASP.NET应用程序 1519

C.1.1 第一步:一个基本的ASP.NET应用程序 1520

C.1.2 查找基于矢量的内容 1521

C.1.3 把矢量内容转换为XAML 1522

C.1.4 查看和编辑XAML的工具 1524

C.1.5 与已有的ASP.NET站点集成 1530

C.1.6 在JavaScript中接收Silverlight事件 1532

C.1.7 在JavaScript事件中访问Silverlight元素 1534

C.2 小结 1536

附录D ASP.NET在线资源 1537

D.1 作者的Blog 1537

D.2 ASP.NET有影响的Blog 1537

D.3 Web站点 1537