为了适应对分布式开发环境的需求,Microsoft全力推出了功能强大的.NET平台,它代表一种全新的基于Web服务模型的应用程序设计和部署方法,为我们开发Web服务和.NET应用程序提供了最强有力的支持。\r\n 本书首先回顾了从独立应用程序到分布式.NET应用程序的演变过程,然后深入介绍了Web服务及其相关内容、使用XML和SOAP设计并创建大型的分布式应用程序、ADO.NET,SQL Server 2000,DataSet和.NET Framework等知识、以及ASP.NET和Windows Forms应用程序的开发方法和过程,最后介绍了如何通过Web服务集成.NET应用程序和Java应用程序。\r\n 本书适合于有一定开发经验并希望掌握如何创建Web服务和.NET应用程序的中高级用户。
第I部分 XML概述\r\n\r\n第1章 Windows分布式平台\r\n\r\n1.1 分布式数据\r\n1.1.1 开放式数据库连接(ODBC)\r\n1.1.2 对象链接与嵌入(0LE)\r\n1.1.3 组件对象模型(COM)\r\n1.2 分布式组件\r\n1.2.1 远程自动化\r\n1.2.2 分布式组件对象模型(DCoM)\r\n1.2.3 远程数据服务(RDS)\r\n1.3 分布式体系结构\r\n1.3.1 Windows动态网络体系结构(DNA)\r\n1.3.2 XML的无状态设计\r\n1.4 分布式服务\r\n1.4.1 简单对象访问协议(SOAP)\r\n1.4.2 Web服务\r\n1.4.3 Microsoft .NET Framework\r\n1.5 小结\r\n\r\n第2章 XML基础\r\n\r\n2.1 XML的概念以及使用它的原因\r\n2.2 XML处理综述\r\n2.3 自我描述的数据\r\n2.4 良构的XML\r\n2.4.1 XML声明\r\n2.4.2 属性\r\n2.4.3 元素\r\n2.4.4 实体\r\n2.4.5 CDATA\r\n2.4.6 语法摘要\r\n2.5 小结\r\n\r\n第3章 XML Schema\r\n\r\n3.1 命名空间\r\n3.1.1 重用\r\n3.1.2 多个命名空间\r\n3.1.3 多义性\r\n3.1.4 限定名称\r\n3.1.5 命名空间语法\r\n3.2 XML Schema\r\n3.2.1 处理模式\r\n3.2.2 检查模式\r\n3.2.3 数据类型\r\n3.2.4 精简元素和属性\r\n3.2.5 导入和包含模式\r\n3.3 小结\r\n\r\n第4章 文档对象模型(DOM)\r\n\r\n4.1 DOM简介\r\n4.1.1 DOM模块\r\n4.1.2 DOM数据类型\r\n4.2 DOM接口规范\r\n4.2.1 接口建模\r\n4.2.2 接口描述\r\n4.3 DOM Core模块\r\n4.3.1 DOMException接口\r\n4.3.2 DOMImplementation接口\r\n4.3.3 Node接口\r\n4.3.4 NodeList接口\r\n4.3.5 NamedNodeMap接口\r\n4.3.6 E1ement接口\r\n4.3.7 Document接口\r\n4.3.8 DocumentFragment接口\r\n4.3.9 Attr接口\r\n4.3.10 CharacterData接口\r\n4.3.11 Text接口\r\n4.4 DOM XML模块\r\n4.5 理解对象模型\r\n4.5.1 联系人XML文档\r\n4.5.2 联系人对象模型\r\n4.6 小结\r\n\r\n第5章 XSLT\r\n\r\n5.1 XSLT和XSL\r\n5.2 XPath\r\n5.3 XSLT的工作方式\r\n5.4 用于转换的元素\r\n5.4.1 xsl:apply-templates元素\r\n5.4.2 xsl:dtribute元素\r\n5.4.3 xsI:call-template元素\r\n5.4.4 xsl:choose元素\r\n5.4.5 xsl:decimal-format元素\r\n5.4.6 xsl:for-each元素\r\n5.4.7 xsl:if元素\r\n5.4.8 xsl:import元素\r\n5.4.9 xsl:include元素\r\n5.4.10 xsl: otherwise元素\r\n5.4.11 xsl:output元素\r\n5.4.12 xsl:param元素\r\n5.4.13 xsl:preserve-space元素\r\n5.4.14 xsl:stVlesheet元素\r\n5.4.15 xsl:template元素\r\n5.4.16 xsl:value-of元素\r\n5.4.17 xsl:variable元素\r\n5.4.18 xsl:when元素\r\n5.4.19 xsl:with-param元素\r\n5.5 XPath表达式\r\n5.5.1 表达式\r\n5.5.2 搜索轴\r\n5.5.3 函数\r\n5.6 小结\r\n\r\n第6章 利用结构化数据\r\n\r\n6.1 理解结构化数据\r\n6.1.1 关系型结构\r\n6.1.2 分层结构\r\n6.2 使用结构化的XML数据\r\n6.2.1 建立服务器接口\r\n6.2.2 建立Web页面\r\n6.2.3 配置Web站点\r\n6.2.4 基准测试\r\n6.3 无状态体系结构\r\n6.3.1 上扩和外扩\r\n6.3.2 状态概述\r\n6.3.3 无状态组件\r\n6.4 小结\r\n\r\n第7章 简单对象访问协议(SOAP)\r\n\r\n7.1 SOAP概念\r\n7.1.1 消息交换模型\r\n7.1.2 HTTP绑定\r\n7.1.3 SOAP的RPC功能\r\n7.1.4 SOAP并非仅是RPC\r\n7.2 SOAP编码\r\n7.2.1 理解串行化\r\n7.2.2 编码规则\r\n7.2.3 复合数据类型\r\n7.2.4 串行化规则\r\n7.3 SOAP消息\r\n7.3.1 SOAP Envelope\r\n7.3.2 SOAP Header\r\n7.3.3 SOAPBody\r\n7.3.4 SOAP Fault\r\n7.4 应用SOAP\r\n7.5 小结\r\n\r\n第8章 理解Web服务\r\n\r\n8.1 Web服务的概念\r\n8.1.1 技术说明\r\n8.1.2 实际说明\r\n8.1.3 Web服务平台\r\n8.1.4 定义标准\r\n8.2 设计Web服务\r\n8.2.1 分布式设计方案\r\n8.2.2 COM+Web服务设计分解\r\n8.2.3 组织各层\r\n8.3 构建Web服务\r\n8.3.1 雇员目录设计\r\n8.3.2 构建应用程序\r\n8.3.3 检验结果\r\n8.3.4 Web服务描述语言(WSDL)\r\n8.3.5 HTML客户应用程序\r\n8.4 通用发现、描述和集成(UDDl)\r\n8.5 小结\r\n\r\n第II部分 .NET Framework\r\n\r\n第9章 公共语言运行时(CLR)\r\n\r\n9.1 剖析.NET Framework\r\n9.1.1 系统集成\r\n9.1.2 运行时服务\r\n9.1.3 面向CLR\r\n9.2 开发NET应用程序\r\n9.2.1 运行时可执行文件\r\n9.2.2 运行时主机\r\n9.2.3 程序集\r\n9.2.4 程序集绑定\r\n9.2.5 安全性\r\n9.3 应用程序的生存期\r\n9.3.1 开发应用程序\r\n9.3.2 部署应用程序\r\n9.3.3 执行应用程序\r\n9.4 小结\r\n\r\n第10章 .NETFramework类\r\n\r\n10.1 剖析.NET Framework\r\n10.2 公共类型系统\r\n10.2.1 类型成员\r\n10.2.2 重写和重载\r\n10.3 值类型\r\n10.3.1 内置类型\r\n10.3.2 枚举类型\r\n10.3.3 用户自定义类型\r\n10.3.4 传递值类型\r\n10.4 引用类型\r\n10.4.1 接口\r\n10.4.2 指针\r\n10.4.3 自描述:数组\r\n10.4.4 自描述:类\r\n10.5 框架类\r\n10.5.1 命名空间\r\n10.5.2 基类\r\n10.5.3 数据类(ADO.NET和XML)\r\n10.5.4 ASP.NET类\r\n10.5.5 Windows Forms类\r\n10.6 小结\r\n\r\n第11章 SQL Server 2000与.NET的集成\r\n\r\n11.1 SQL Server 2000和XML\r\n11.2 以XML格式返回数据\r\n11.2.1 AUTO模式选项\r\n11.2.2 RAW模式选项\r\n11.2.3 EXPLICIT模式选项\r\n11.3 使用XML向数据库写数据\r\n11.4 通过HTTP访问SQL Server 2000\r\n11.4.1 建立SQL Server Web站点\r\n11.4.2 URL查询\r\n11.4.3 模板查询\r\n11.4.4 XPath查询\r\n11.5 小结\r\n\r\n第12章 ADO.NET概述\r\n\r\n12.1 ADO的演变\r\n12.2 ADO.NET对象模型\r\n12.3 DataAdapter与DataReader的性能对比\r\n12.4 OLEDB管理提供者\r\n12.5 小结\r\n\r\n第13章 ADO.NET数据集\r\n\r\n13.1 DataSet类\r\n13.2 使用DataSet\r\n13.2.1 创建DataSet\r\n13.2.2 强类型的DataSet\r\n13.2.3 利用数据源填充DataSet\r\n13.2.4 修改DataSet中的数据\r\n13.2.5 DataSet的功能\r\n13.2.6 检查错误\r\n13.2.7 将变化与原始DataSet合并\r\n13.2.8 使用变化更新数据源\r\n13.2.9 接收或者拒绝变化\r\n13.3 DataSet和XML\r\n13.3.1 从DataSet中写出XML\r\n13.3.2 将XDL见读入DataSet中\r\n13.4 综合应用\r\n13.5 小结\r\n\r\n第III部分 .NET服务和应用程序\r\n\r\n第14章 ASP.NET Web服务\r\n\r\n14.1 ASP.NET Web服务\r\n14.2 使用.NET构建Web服务\r\n14.2.1 .NET如何将Web服务作为类\r\n14.2.2 Web Service和WebMethod特性\r\n14.2.3 运行Web服务\r\n14.2.4 提供对Web服务的数据访问\r\n14.2.5 展示WSDL中的XML模式--返回DataSet\r\n14.3 使用Web服务\r\n14.4 保护.NET Web服务\r\n14.4.1 Windows身份验证\r\n14.4.2 护照身份验证\r\n14.4.3 窗体身份验证\r\n14.5 Web服务设计\r\n14.6 小结\r\n\r\n第15章 ASP.NET\r\n\r\n15.1 ASP.NET Web页面\r\n15.2 Web页面事件\r\n15.3 回送\r\n15.4 ASP.NET控件\r\n15.4.1 HTML和设计模式\r\n15.4.2 DataGrid控件\r\n15.4.3 Validator控件\r\n15.4.4 自定义控件\r\n15.5 小结\r\n\r\n第16章 Windows Forms\r\n\r\n16.1 新Windows应用程序\r\n16.1.1 添加控件\r\n16.1.2 添加DataSet\r\n16.1.3 将DataSet绑定到控件上\r\n16.1.4 编写代码\r\n16.2 新控件\r\n16.2.1 添加控件库项目\r\n16.2.2 Custom控件\r\n16.2.3 User控件\r\n16.3 远程部署\r\n16.3.1 更新Web服务\r\n16.3.2 添加Web引用\r\n16.4 与Java集成\r\n16.4.1 更新Java代码\r\n16.4.2 Web Forms应用程序\r\n16.5 小结\r\n\r\n第17章 调试.NET应用程序\r\n\r\n17.1 调试.NET应用程序\r\n17.1.1 项目配置\r\n17.1.2 调试操作\r\n17.1.3 调试ASPNET应用程序\r\n17.2 调试多线程的应用程序\r\n17.3 远程调试\r\n17.3.1 配置远程调试的机器\r\n17.3.2 启动远程调试会话\r\n17.4 小结
最近,Microsoft全力推出一种新的基于Web服务模型的应用程序设计和部署方法。这种新平台被称之为.NET,它引入一组新的服务器、服务和客户应用程序。对于开发人员来说,它代表一种新方法,通过它设计应用程序可以有多种不同的选择,另外,它还意味着一种挑战,即决定如何综合利用各种功能。为此,我们编写了本书,在本书中,先深入介绍了Web服务,然后再详细介绍了ASP.NET和Windows Forms应用程序的开发方法和过程。
由于.NET的基础是构建在XML之上的,所以我们首先讨论XML的概念以及如何在应用程序和Web服务中使用它。我们学习的重点是如何利用NET中的可用功能设计应用程序,而不是语言的语法和编写代码的技术细节。另外,还针对何时使用Web服务和如何创建大型企业应用程序,提供了指导性原则,该原则和信息都是从30年以来的应用程序开发经验中得来的。因此,我们讨论现实问题,并提供大量示例,而且这些示例都来自现有软件产品的应用程序。
对于使用.NET创建应用程序,我们的经验已经被证明是正确且有趣的。希望本书能使您真正感受到利用.NET开发应用程序是多么的简单有趣。另外还希望您在学习本书之后能够真正掌握如何使用Web服务和.NET平台设计和创建应用程序。
本书读者对象
本书所包含的内容适合所有渴望学习如何设计和构建.NET应用程序的开发人员。因此,本书在各个示例中部综合使用了多种语言,而不仅仅是某一种编程语言。学习本书您应当具备一些应用程序开发经验,但并不需要事先了解Visual Studio.NET开发环境。对于本书来说,您只需有一些应用程序开发经验和接受新概念的开放意识即可。
本书主要内容
第1部分首先回顾了从独立应用程序到分布式.NET应用程序的演变过程。接着,深入介绍了各种有关XML的主题信息,这些主题信息描述了.NET的基础。随后继续讨论了多种设计技术,并提供基准信息,用于说明XML是目前最优秀的分布式设计解决方案的原因。最后,概述了Web服务的相关内容以及如何利用该技术进行分布式设计。
第11部分首先全面深入地介绍了.NET Framework,其中包括公共语言运行时(CLR)、通用类型系统(CTS)和公共语言规范(CLS)。如果开发人员掌握了CLR的工作方式和CTS在.NET应用程序开发中所扮演的角色,就可以很好地理解CLR、CTS和CLS是如何协同工作的。该部分还探讨如何利用在SQL Server 2000中可获得的新功能以及如何利用ADONET中的强大新功能。最后,该部分详细地介绍了DataSet(数据集),并探讨如何在应用程序设计中有效地使用DataSet。
第III部分着重利用前面两部分介绍的内容创建.NET应用程序。该部分前面两章主要介绍如何开发ASP.NET Web服务和Web窗体应用程序。然后,简单介绍了一个独立Windows Forms(Windows窗体)应用程序的开发过程,并将这个应用程序演化为使用Web服务的分布式设计。接着,我们介绍Windows Forms应用程序是如何利用Web服务与Java应用程序进行交互的。另外,这一部分还介绍在.NET中配置和使用调试功能的必要步骤,从中可以发现,.NET中的调试非常简单,并被综合运用到应用程序的所有层中。这样,在一次会话中,不费吹灰之力就可以从客户代码执行到服务器代码并返回到客户端脚本代码。
示例代码
本书中的任何示例代码和开发的应用程序都可以从McGraw Hill/Osborne的Web站点(http://www.osborne.com)中随意免费下载。由于本书的重点不在于编写代码,而是突出设计,所以您在学习的过程中不必下载本书代码。当然,如果您希望继续使用和检查讨论的实际代码,就需要下载示例代码。