Visual J# .NET技术内幕

Visual J# .NET技术内幕
作 者: John Sharp Andy Longshaw Peter Roxburgh 许志庆 王卫国 许志庆
出版社: 清华大学出版社
丛编项: 微软 NET程序员系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  John Sharp 编程领域的知名专家之一,在多种编程语言方面均有建树。他撰写过多本技术图书,其中包括Visual J#,.NET程序设计、Visual c++ NET程序设计等多本已在国内出版的畅销书。

内容简介

本书使您能够提升Java技能,学习如何使用VisualJ#,.NET创建强大的MicrosodtWindows应用程序和高性能分布式应用程序。本书内容全面、深入,详细阐述了权威的技术细节。通过这本书的学习,您能够全面掌握VisualJ#,.NET,了解Microsodt.NET的丰富特性,从而建立可伸缩的企业级应用程序。书中介绍了.NET的体系结构、,使用VisualJ#,.NET处理数据方法、创建XMLWeb服务的方法、建立跨局域网的多线程应用程序的方法。此外,还涵盖了建立使用Windows特性和服务的应用程序以及应用程序以及应用程序如何通过Internet提供全球搜索的关键主题。JohnSharp编程领域的知名专家之一,在多种编程语言方面均有建树。他撰写过多本技术图书,其中包括VisualJ#,.NET程序设计、Visualc++NET程序设计等多本已在国内出版的畅销书。J#是一种采用Java语法的编程语言,它使Java程序员能够使用.NET框架开发各种应用程序。本书全面、深入地讲述了如何使用J#和VisualStudio.NET,开发在.NET环境下运行的企业应用程序。本书分为五大部分。第Ⅰ部分,“.NET的体系结构”,介绍.NET平台的结构、主要概念、公共语言运行库以及.NET中提供的GUI库等。第Ⅱ部分,“管理和操作数据”,重点介绍在J#中如何处理数据。第Ⅲ部分,“企业开发”,介绍如何开发可以通过局域网运行的多线程应用程序。第Ⅳ部分,“与Windows进行集成”,介绍如何开发能够利用Windows的特性与服务的应用程序。第Ⅴ部分,“生成Web应用程序”,介绍使用J#开发能够连接到Internet的应用程序,包括ASP.NET模型、Web服务开发等。本书适合具有Java开发经验、想利用.NET平台开发各种应用程序的程序员。

图书目录

第Ⅰ部分 .NET的体系结构

第1章 N层开发面临的挑战 3

1.1 客户端/服务器和N层体系结构 3

1.1.1 两层体系结构 3

1.1.2 N层体系结构 5

1.1.3 Northwind Traders示例 6

1.2 连接与数据格式 8

1.2.1 套接字 9

1.2.2 远程过程调用 10

1.2.3 对象RPC 11

1.2.4 远程方法启用 12

1.2.5 Web 13

1.3 数据访问 15

1.3.1 开放式数据库连接 15

1.3.2 Java数据库连接 16

1.3.3 ADO和ADO.NET 16

1.4 非功能性需求 17

1.4.1 安全性 17

1.4.2 可缩放性和可用性 18

1.4.3 完整性和事务 18

1.5 .NET企业服务器 19

1.6 Java和.NET 19

1.7 本章小结 20

第2章 Microsoft .NET 21

2.1 编译器和语言支持 21

2.1.1 公共语言运行库 21

2.1.2 跨语言开发 29

2.1.3 内存管理 33

2.1.4 将非托管代码集成到.NET应用程序中 37

2.2 程序集和部署 38

2.2.1 DLL的乐趣:电影剧本 38

2.2.2 .NET程序集 39

2.2.3 私有程序集 41

2.2.4 全局程序集高速缓存 42

2.2.5 配置应用程序 45

2.3 .NET框架类库 49

2.3.1 命名空间 50

2.4 .NET远程处理和Web 51

2.4.1 .NET远程处理体系结构 51

2.4.2 远程对象激活 52

2.4.3 ASP.NET 53

2.4.4 Web服务 54

2.5 .NET安全性 54

2.5.1 应用程序域 55

2.5.2 基于角色的安全性 57

2.5.3 代码访问安全性 60

2.6 本章小结 65

第3章 Java和公共语言运行库 66

3.1 组件和Java 67

3.1.1 JavaBeans 68

3.1.2 .NET中的组件 73

3.2 Java. J#和.NET框架 80

3.2.1 类的打包和查找 81

3.2.2 Java类的层次结构 82

3.2.3 其他问题 89

3.2.4 迁移到J# 92

3.3 元数据和属性 94

3.3.1 .NET中的反射 94

3.3.2 属性(Attribute) 101

3.4 企业版Java 102

3.4.1 J2EE的元素 103

3.4.2 .NET与J2EE的比较 106

3.4.3 Java宠物商店 109

3.5 本章小结 111

第4章 图形用户界面 112

4.1 桌面GUI 112

4.1.1 重访Java GUI开发 113

4.1.2 Windows Forms库 115

4.2 移植现有Java应用程序 115

4.3 使用.NET 类编写GUI应用程序 124

4.3.1 创建Windows窗体 124

4.3.2 向窗体添加控件 128

4.3.3 处理事件 134

4.3.4 使用文件对话框 135

4.3.5 使用系统剪贴板 139

4.3.6 生成并运行应用程序 141

4.4 本章小结 141

第Ⅱ部分 管理和操作数据

第5章 处理XML 145

5.1 在.NET应用程序中使用XML 145

5.1.1 作为数据格式的XML 146

5.1.2 XML的角色 148

5.1.3 XML支持所需应用程序 149

5.1.4 处理XML数据 149

5.1.5 Visual J#和.NET框架中对XML的支持 150

5.2 XML文档的单个传递处理 152

5.2.1 使用XMLReader类分析XML文档 153

5.2.2 使用XMLTextReader实例处理XML 153

5.2.3 用于读取和导航的其他选项 160

5.2.4 类型和命名空间 161

5.2.5 异常处理 163

5.2.6 使用XmlWriter类编写XML文档 163

5.2.7 写入时的转义和复制 166

5.3 验证和实体解析 166

5.3.1 验证XML文档 166

5.3.2 解析实体 171

5.4 在内存中处理XML文档 171

5.4.1 内存中处理 172

5.4.2 将XML加载到XmlDocument类 173

5.4.3 从DOM文档获取信息 173

5.4.4 将DOM片段视为流 178

5.5 编写和操作内存中XML文档 178

5.5.1 更改DOM树的内容 178

5.5.2 大量更改XML文档 179

5.5.3 写出DOM树 180

5.6 XML与数据 181

5.6.1 XML与ADO.NET数据之间的联系 181

5.6.2 将XML视为关系数据 182

5.6.3 将XML作为关系数据操作 182

5.6.4 将关系数据视为XML 184

5.7 本章小结 184

第6章 转换XML 185

6.1 在.NET应用程序中转换XML 185

6.1.1 转换需求 185

6.1.2 XSLT处理模型 187

6.1.3 应用转换 190

6.1.4 .NET对XML转换的支持 191

6.2 对XML文档应用样式表 192

6.2.1 使用XslTransform进行的简单转换 192

6.2.2 转换源和目标 194

6.2.3 转换DataSet 195

6.3 优化和部分转换 195

6.3.1 使用XPath搜索和导航 196

6.3.2 优化XSLT转换 197

6.3.3 部分转换 198

6.4 参数化和外部功能 198

6.4.1 传入参数 199

6.4.2 调用外部函数 202

6.5 本章小结 207

第7章 ADO.NET 208

7.1 ADO.NET的体系结构 208

7.1.1 ADO.NET的组件 209

7.1.2 DataSet对象 210

7.1.3 连接和数据适配器 211

7.2 连接到数据存储区 211

7.2.1 连接到数据源(OLE DB和SQL) 212

7.2.2 连接和Visual Studio .NET 213

7.2.3 连接池 214

7.2.4 使用连接事件 214

7.3 对数据存储区执行命令 215

7.3.1 创建命令 215

7.3.2 在语句中使用参数 217

7.3.3 调用存储过程 223

7.3.4 从数据源中检索单条记录 223

7.3.5 将DataReader对象用于只读数据检索 223

7.4 使用DataSet对象进行数据访问 225

7.4.1 从数据适配器填充DataSet表 225

7.4.2 导航类型化的DataSet 227

7.4.3 导航非类型化的DataSet 229

7.4.4 从数据适配器操作和更新数据存储区 230

7.4.5 定义关系和约束 233

7.5 事务管理 236

7.6 使用XML和ADO.NET 237

7.6.1 以XML形式编写DataSet 237

7.6.2 以XML的形式写入DataRelation对象 240

7.6.3 由XML推断DataSet结构 240

7.7 本章小结 242

第Ⅲ部分 企业开发

第8章 .NET下的多线程 245

8.1 线程和.NET 245

8.1.1 应用程序域和线程 247

8.1.2 线程的创建 248

8.1.3 线程和安全 249

8.1.4 给线程传送参数 249

8.1.5 线程状态 250

8.1.6 终止线程 252

8.1.7 调度线程 254

8.1.8 线程和自由(不可控)代码 256

8.2 同步 257

8.2.1 手工同步 260

8.2.2 自动同步 267

8.2.3 静态和线程数据 270

8.3 线程内部通信 271

8.3.1 线程通知 271

8.3.2 计时器 280

8.4 线程池 281

8.4.1 Threadpool类 282

8.4.2 异步IO 283

8.5 本章小结 284

第9章 网络编程基础 285

9.1 套接字基础 285

9.1.1 面向连接的套接字 286

9.1.2 数据传输的问题 299

9.1.3 无连接的套接字 300

9.1.4 阻塞与非阻塞套接字 305

9.2 套接字的异步使用 306

9.2.1 Poll和Select方法 306

9.2.2 网络流 308

9.3 Web网络编程 309

9.3.1 能够插入的协议 310

9.3.2 使用HTTP进行数据请求和接收 312

9.3.3 发布数据 314

9.3.4 请求的异步处理 315

9.3.5 使用WebClient对象 316

9.3.6 HTTP连接管理和池 317

9.4 Internet的安全性 318

9.4.1 认证和授权 319

9.4.2 加密 321

9.5 本章小结 321

第10章 对象的序列化 323

10.1 序列化与反序列化数据 323

10.1.1 格式化数据 324

10.1.2 反序列化 326

10.1.3 版本化 327

10.1.4 进行选择 331

10.2 高级序列化 331

10.2.1 自定义序列化 331

10.2.2 处理对象图 334

10.3 XML序列化 339

10.3.1 XML格式化 340

10.3.2 反序列化XML流 346

10.4 本章小结 349

第11章 .NET远程处理 351

11.1 公共语言运行库远程处理体系结构 351

11.1.1 远程对象 351

11.1.2 .NET远程处理模型 354

11.1.3 ObjRef对象与代理 359

11.1.4 消息. 信道与信道接收 360

11.2 使用TCP远程处理编程 361

11.2.1 服务器端激活对象的远程处理 361

11.2.2 客户端激活对象的远程处理 368

11.2.3 管理对象的生存期与租约 370

11.2.4 TCP远程处理安全性 372

11.2.5 远程方法参数 373

11.2.6 远程事件 373

11.3 HTTP远程处理 378

11.3.1 远程处理服务器宿主 378

11.3.2 使用IIS作宿主 380

11.3.3 HTTP远程处理安全性 382

11.4 自定义远程处理 383

11.4.1 单向远程处理 383

11.4.2 RemotingServices类 383

11.4.3 跟踪处理程序 385

11.4.4 自定义信道接收和信道 388

11.5 本章小结 389

第12章 使用消息队列 390

12.1 Message Queuing 3.0的体系结构 391

12.1.1 队列. 服务器和

Active Directory 391

12.1.2 事务性消息队列 392

12.1.3 管理队列 392

12.1.4 系统队列 393

12.1.5 消息传送 394

12.1.6 消息队列触发器 394

12.2 消息队列编程 395

12.2.1 发送和接收消息 395

12.2.2 处理消息 404

12.2.3 管理队列 408

12.3 异步操作 412

12.3.1 异步接收消息 412

12.3.2 断开连接的队列 413

12.3.3 请求确认 416

12.4 实际环境中的消息 417

12.4.1 可靠性与事务 418

12.4.2 消息的鉴别与加密 421

12.4.3 通过HTTP传送消息 423

12.5 本章小结 424

第Ⅳ部分 与Windows 进行集成

第13章 非托管组件的集成 427

13.1 托管与非托管代码 428

13.2 在非托管DLL中调用方法 428

13.2.1 使用J/Direct 429

13.2.2 平台调用服务 433

13.2.3 其他的P/Invoke问题 447

13.3 调用COM组件 450

13.3.1 创建并使用RCW 451

13.3.2 接收COM事件 455

13.3.3 使用没有类型库的COM对象 457

13.4 将.NET组件集成进COM中 464

13.4.1 为COM Interop设计.NET组件 465

13.4.2 创建COM可调用包装 469

13.4.3 测试CCW 472

13.5 与其他技术的互用性 474

13.5.1 实际的解决方案:XML Web服务 475

13.6 本章小结 475

第14章 服务组件与COM+ 476

14.1 使用现有的COM+组件 477

14.1.1 再论FourthCoffee组件 477

14.1.2 配置Fourth Coffee COM+应用程序 478

14.1.3 使用Fourth Coffee COM+应用程序 481

14.1.4 订阅松耦合事件 482

14.2 生成服务组件 488

14.2.1 服务组件基础 489

14.2.2 注册与使用服务组件 494

14.3 服务组件的功能 497

14.3.1 同步. 活动与上下文 497

14.3.2 静态方法 500

14.3.3 服务组件的激活 500

14.3.4 缓存共享的状态 506

14.3.5 关于事务的更多说明 510

14.4 .NET与COM+的安全性 513

14.4.1 代码访问安全性需求 513

14.4.2 .NET的基于角色的安全性模型 513

14.4.3 COM+的基于角色的安全性模型 514

14.4.4 从.NET中实现COM+安全性 515

14.4.5 COM+的强制安全性 517

14.5 异步组件 518

14.5.1 创建排队组件 518

14.5.2 支持松耦合事件 519

14.6 本章小结 521

第15章 实现Windows服务 522

15.1 控制Windows服务 522

15.1.1 显示服务信息 523

15.1.2 服务的启动和停止 526

15.2 编写Windows服务 528

15.2.1 服务应用程序的结构 528

15.2.2 了解安装程序类 532

15.2.3 创建新安装程序 533

15.2.4 增加服务说明 535

15.2.5 安装并测试服务 536

15.2.6 卸载服务 538

15.3 本章小结 538

第Ⅴ部分 生成Web应用程序

第16章 ASP.NET是更好的ASP 541

16.1 ASP.NET简介 542

16.1.1 基于浏览器的Web应用程序 542

16.1.2 ASP.NET环境 543

16.1.3 ASP.NET的基本编程模型 544

16.2 HTML表单和ASP表单 548

16.3 ASP.NET Web表单 552

16.3.1 服务器端控件 555

16.3.2 页面后面的代码 556

16.3.3 事件的处理 560

16.3.4 客户端验证 563

16.4 从ASP页面中迁移 568

16.4.1 语言与代码 568

16.4.2 用户接口 569

16.5 页面. 控件与数据 571

16.5.1 Page类 571

16.5.2 公共控件 574

16.5.3 创建自己的控件 576

16.5.4 数据绑定 580

16.6 生成ASP.NET Web应用程序 583

16.6.1 Web.config 583

16.6.2 Global.asax 584

16.6.3 部署ASP.NET应用程序 586

16.6.4 状态的管理 586

16.6.5 错误处理程序 593

16.6.6 安全性 598

16.6.7 缓存 601

16.7 本章小结 604

第17章 生成Web服务 605

17.1 Web服务概述 605

17.1.1 Web服务是什么 605

17.1.2 Web服务技术 606

17.1.3 .NET中的Web服务 608

17.2 创建Web服务 609

17.2.1 简单的Web服务 609

17.2.2 使用Visual Studio .NET创建Web服务 613

17.3 Web服务说明与数据类型 616

17.3.1 提供Web服务接口 616

17.3.2 调用服务 627

17.3.3 传递复杂的数据类型 628

17.3.4 传递DataSet对象 639

17.3.5 传递XML文档 641

17.4 创建XML Web服务应用程序 642

17.4.1 作为ASP.NET应用的Web服务 643

17.4.2 事务处理和Web服务 651

17.4.3 将现存的应用程序作为Web服务来提供 653

17.5 本章小结 654

第18章 创建Web服务客户端 655

18.1 Web服务客户端 655

18.1.1 Web服务的客户端视图 656

18.1.2 使用Visual Studio .NET创建Web服务客户端 657

18.1.3 跨越简单的客户端方案 660

18.1.4 其他客户端类型 677

18.2 动态搜索Web服务 680

18.2.1 搜索服务器上的服务 681

18.2.2 通过UDDI搜索服务 686

18.3 本章小结 689