.NET
-
Visual Basic.NET实验指导与测试龚沛曾《Visual Basic.NET实验指导与测试》是国家精品课程“Visual Basic程序设计”的配套教材《Visual Basic.NET程序设计教程》的教学参考书。《Visual Basic.NET实验指导与测试》根据教育部高等学校非计算机专业计算机基础课程教学指导分委员会提出的《关于进一步加强高等学校计算机基础教学的意见》(白皮书)中有关“计算机程序设计基础”课程教学基本要求编写。《Visual Basic.NET实验指导与测试》结合课程教学特点,章节安排与主教材的章节不完全一致,而是将每一章的内容分为知识要点、实验题解、常见错误和难点分析以及测试题四个小节。在知识要点中,归纳总结了应掌握的主要内容;在实验题解中,对实验的部分题做了详细的分析和解答;在常见错误和难点分析中,作者将多年来在教学中遇到的问题在此给出,可使初学者少走弯路,提高学习效率;为了帮助大家多看多练,巩固知识的掌握和能力的培养,在测试题中给出了选择题和填空题以及参考答案。《Visual Basic.NET实验指导与测试》内容丰富,讲述由浅入深,循序渐进,通俗易懂,可作为高等学校计算机程序设计课程的教材,也可作为广大应用程序开发者的自学参考书。 -
应用框架的设计与实现(美)Xin Chen著;温昱,靳向阳译本书讲解如何设计应用框架。应用框架为基于其上构建的应用提供通用服务,使你的代码和设计获得可扩展性、模块化和可重用性的好处。本书阐述了什么是框架、以及许多用于创建框架的面向对象技术。本书还通过一个名为SimplifiedApplicationFramework(SAF)的具体框架案例,讲解了如何实际地开发应用框架,其中包括类工厂、配置、事件通知、安全以及事务等非常典型的通用服务。另外,本书论及的许多服务均是以设计模式为蓝图的。书中深入讨论了这些模式,并说明如何在具体场景中实现它们。本书内容充实、结构清晰,流畅地将设计模式、.NET高级技术和框架开发思路有机地组织在一起,实属难能可贵。本书适合架构设计师、Framework开发人员、.NET开发人员阅读。本书前言《应用框架的设计与实现——.NET平台》是一本扎扎实实讲解如何设计应用框架的书。不必说本书填补了框架设计中文版专著的空白,揭示了框架设计的诸多思想,提供了有助于读者将设计思想落到实处的框架案例;也不必说本书深谙“讲述设计过程优于直接讲述结果”的道理,思路清晰,层层展开;单是本书流畅地将设计模式、.NET高级技术和框架开发思路有机地组织在一起,就值得称道。软件学科的实践性很强,设计模式虽说是最佳经验的总结,但也必须多多实践之后才能吃透——“记得旧文章,便是新举子”的思想是要不得的。本书论及的许多通用服务均是以设计模式为蓝图的,例如策略、访问者、观察者、装饰、桥接、抽象工厂设计模式等。书中不仅深入讲解了这些模式,还说明了如何在具体场景中实现它们。可以说,对于想让自己对设计模式的领会上一个台阶的读者,本书堪当此任。本书也深入讨论了许多.NET高级技术,例如反射、Remoting、XML、XPath、委托、ServicedComponent等。一般而言,案例的规模应当和所演示技术的难度成正比——但凡是“高级技术”,通过太小的案例很难充分说明其威力。而本书提供了一个贯穿始终的应用框架案例,让读者感觉“赶上了”有分量的任务,这恰好营造了真正掌握.NET高级技术的环境。当然,本书的最终目的是教会你如何设计应用框架:先是讲解了应用框架的含义、历史和五大优点;然后,解释了框架开发过程与一般应用开发的不同;接下来是译者最喜欢的对框架开发通用技术的讲解,这包括了通用点(commonspot)、扩展点(hotspot)及实现它们的方法,以及黑盒框架(black-boxframework)、白盒框架(white-boxframework)、灰盒框架(gray-boxframework)的区别与联系等。本书后面的12章分别讲解SAF的每一个组件的设计过程——SAF是个包含缓存服务、配置服务、授权服务、事务服务、工作流服务等12个通用服务的B2B应用框架。译完这本书之后曾有这样的感慨:优秀的软件架构师,不仅设计的软件非常棒,而且写的书也应当是松耦合、高聚合的。本书的作者无疑就是这样的人,因为本书后面的12章,每一章都是一个高聚合的整体,将业务背景、动机目的、技术难点、设计模式、解决方案穿成一串呈现给你。这样一来,就非常适合软件圈子里的人阅读——抽出时间任意读它一章,或是工作中查阅某章来参考,无不相宜。读佳作,如享盛宴。《应用框架的设计与实现——.NET平台》就是这样一本内容充实、结构清晰的佳作。温昱靳向阳2005年5月 -
Visual Basic.NET数据库程序设计与实例卢智勇等编著本书以中文版Visual Basic.NET为背景,从数据库编程基础、SQL Server、可视化数据库工具、ADO.NET对象、数据适DataAdatper、数据集DataSet、数据绑定控件、Web数据访问等方面详细介绍了Visual Basic.NET数据库编程的基本操作和使用方法。本书最后以进销存管理系统的设计与开发和Web教学日历管理系统的开发两个实例阐述了数据库的开发思路和步骤。本书内容丰富、重点突出、操作简练、简明易懂,理论介绍与实例演示并重,图文并茂,具有很强的实用性。另外,本书按教材体例编写,循序渐进,配有适当的练习题。因此,本书适合于使用Visual Basic.NET开发数据库的初学者,也可作为高等学校计算机专业的教学用书,同时,对从事数据库开发的人员也是一本很好的参考书。 -
设计可扩展的.NET应用程序(瑞典)Joachim Rossberg,(瑞典)Rickard Redler著;卞军,周磊译;卞军译本书揭示了WindowsServer2003和Microsoft.NET平台提供的最新功能,从概念到部署全面讲述了正确设计.NET企业应用程序的完整过程,包括UML建模、数据库设计和实现、选择合适的操作系统、设计基础结构,以及编写和部署代码等内容。本书适用于IT架构师、系统设计师和开发人员。本书前言我们发现很多设计师和系统架构师缺乏对如何使用Microsoft技术构建并实现大型企业解决方案的理解。架构师们在考虑基于这种技术构建重要任务系统时经常犹豫不决——并不是因为他们已经尝试并失败了,而仅仅是因为他们没有很好地理解应该使用哪种工具来构建。我们期望能够改变这种情况。从2002年起我们就有编写本书的想法。开始考虑将这本书编写成CapGeminiErnst&Young公司的内部文档。但当进行市场调研的时候,我们发现很少有针对IT架构师和系统设计师的书籍。大部分书籍都是针对开发人员的,我们需要一本面向更广泛读者的书。因为我们考虑很多IT架构师缺乏对用Microsoft平台可以执行什么任务的全面理解,所以决定应该将文档的读者扩展到CapGeminiErnst&Young公司之外,并试图将它作为图书出版,于是就和Apress合作出版了这本书。本书读者对象本书读者对象主要是设计师和IT架构师,但是我们尽量覆盖到那些觉得对开发人员也有用的主题。首先,让我们定义这三种读者类型的人。不同的公司对这些术语可能有不同的定义,所以为了避免混淆,在这里阐述清楚我们的定义。 -
C#程序设计田原,李素若,文斌编著《21世纪高等学校电子信息类专业规划教材:C#程序设计》从最基本的词法、语法开始讲解C#语言,包括C#的数据类型、控制语句、名字空间、类、数组和枚举、集合、结构、接囗、代表和事件以及错误和异常处理。另外,《21世纪高等学校电子信息类专业规划教材:C#程序设计》还讲解了C#的一些高级概念,包括文件和流、Windows桌面应用程序开发、ASP.NET:Web Form、ASP.NET:Web Services、分布式应用程序创建、网络程序开发、数据库应用程序开发、多线程以及和COM的交互等。《21世纪高等学校电子信息类专业规划教材:C#程序设计》结构清晰、内容丰富,可作为本科、大专层次院校的教材,也适用于使用C#进行软件开发的广大技术人员。 -
ASP.NET网站建设专家王保健 编著本书侧重于实用性,以“软件功能实例”的结构方式构建内容。全书共分13章,分别介绍了ASP.NET编程基础、相关控件、网站新闻发布系统、网站会员管理系统、论坛、网站推荐、电子杂志、在线调查、留言板、文件上传、与Excel交互、ASP.NET与XML、ASP.NET与Web服务。通过这些案例读者迅速掌握ASP.NET开发技能。本书保证了知识的相对完整和系统性。在讲解过程中由浅及深、由易到难、循序渐进,并结合理论与实际制作,使读者能够快速入门,并且达到较高的水平。本书适合初学者和中级用户阅读,也可作为各级培训用教材。本书程序源文件可在http://www.itbook8.com网站下载。本书前言经常会有网友和同事问我,有没有ASP.NET的例子程序可以推荐?他们希望这些程序是一个完整的项目,能够实现一个完整的功能并且不用修改就可以运行起来。我向他们推荐.NET自带的例子程序Duwamish,但是他们看了后都觉得过于复杂,并不是一个初学者可以上手的项目,我又想到QuickStart,但它又过于简单和零散。要说好的项目并不是没有,像做门户网站的DotNetNuke,做论坛的ASP.NETForum,还有做博客的.Text,这些项目本身都是非常好的开放源码,但是和Duwamish一样,由于其实现过于复杂,并不适合用来学习ASP.NET。有位朋友就建议我把自己这些年开发网站的程序整理一下,写一本书以供大家学习。于是,就有了这本《ASP.NET网站建设专家》。本书主要通过许多具体实例来介绍如何使用ASP.NET来建设和开发网站。第1章讲解ASP.NET概述。在这一章中,介绍了ASP.NET的概念、ASP.NET的特点、如何安装.NET,以及两个ASP.NET的开发工具,并通过例子说明了如何使用这两个工具。第2章讲解ASP.NET的页面和相关控件。介绍了Page类中常用的一些对象、页面的基本控件等,并着重介绍如何使用几个常用的数据绑定控件以及如何实现分页等功能。从第3章开始,会通过一个个具体的实例来讲解如何使用ASP.NET来开发网站。在第3章中,介绍了使用三层结构来开发新闻发布系统的整个过程。主要包括新闻的显示、分类和后台管理等功能。第4章讲解会员管理系统的开发过程,介绍了会员注册、登录、密码查找和退出系统等功能的实现过程。第5章讲解论坛系统的开发过程。在这一章中,介绍了论坛的帖子列表显示、帖子内容显示、发表帖子和回复帖子等功能的实现过程。第6章讲解如何实现网站推荐功能。在这一章中,将学习如何实现通过电子邮件把用户的网站和网站里面的页面推荐给网友的功能。第7章讲解电子杂志系统的开发过程,介绍了如何实现电子杂志的订阅、退订、发送以及后台管理的程序。第8章讲解在线调查系统的开发过程,介绍了如何实现调查列表的显示、投票、投票结果的显示以及增加、修改和删除调查问题等功能。第9章讲解留言板系统的开发过程,介绍如何实现发表留言、查看留言和管理留言等功能。第10章讲解文件上传系统的开发过程,分别介绍如何通过ASP.NET和Web服务实现文件的上传功能。第11章讲解ASP.NET如何与Excel文件交互。在这一章中,介绍如何从Excel文件中读取文件和如何把内容导出成Excel格式。第12章讲解ASP.NET操作XML文件,介绍DataSet格式和XML格式的数据转换,还将介绍如何用XSL来显示XML,以及如何向XML中增加内容和在XML中搜索内容等功能。第13章讲解Web服务。在这一章中,介绍了创建和使用自己的Web服务、搜索第三方的Web服务和Web服务中的状态管理。IT书吧(http://www.itbook8.com)提供本书的技术支持及配套程序下载。编者 -
C#设计模式(美)Steven John Metsker著;颜炯译;颜炯译本书是第一部关于C#和.NET设计模式的权威指导著作,为基于C#语言和Microsoft®.NET框架的开发人员学习设计模式和应用设计模式提供了一个完整全面的理论框架和大量的详细应用实例。本书内容覆盖了所有23个经典的“四人小组”设计模式,具体包括:适配器,外观,合成,桥接,单件,观察者,中介者,代理,职责链,享元,生成器,工厂方法,抽象工厂,原型,备忘录,模板方法,状态,策略,命令,解释器,装饰,迭代器,以及访问者等模式。本书提供了大量的C#代码,解释说明了在.NET框架下如何应用上述设计模式。读者在阅读本书之后,将会对关于C#语言和Microsoft®.NET框架的设计模式的整体概念、基本原理、内部实现有一个清晰的认识,并可以将设计模式应用于基于C#语言和.NET框架的面向对象软件开发实践当中。本书还提供了丰富的附录资源,有兴趣的读者可以通过利用这些资源进一步增强对设计模式的理解。 -
Visual C#.NET精彩编程实例集锦罗斌等编著本书用150个独立的实例程序介绍了Microsoft Visual C# .NET重点编程技术。书中所有实例程序摒弃语法说教,侧重实际应用,主要内容包括:使用GDI+技术开发图形文字特效程序技巧、ADO.NET编写Access和 SQL Server数据库程序技巧、使用ASP.NET开发Web应用程序技巧、使用Crystal Report水晶报表向导开发报表程序技巧以及Web Service程序设计技巧。本书还介绍了文件加解密、文件切分组合、XML转换等大量的系统和文件管理及界面设计的实用技术。本书所有实例在配套光盘中均有源代码,让您所见即所得、所学即所用。 本书适合于使用Microsoft Visual C# .NET进行程序开发的初、中级用户参考,也可作为高等院校及计算机培训学校在校学生的学习案例。 -
VB.NET高级编程(美)Bill Evjen等著;杨浩翻译;杨浩译Microsoft认为VB.NET是开发人员提高其生产率的首选编程语言。VB.NET 2003基于之前版本的强大功能,又添加了诸多重要特性,还支持今日趋势流行的移动应用程序开发。本书全面系统地论述了VB.NET 2003的各项重要功能,帮助读者在设计和开发过程中应用面向对象的概念创建高效的业务应用程序,并学会使用ADO.NET访问数据、集成XML、创建Windows应用程序和Web服务等。本书还探讨了.NET应用程序的部署让读者充分体会VB.NET 2003在开发面向Internet和桌面应用程序时所提供的强大功能。 本书主要内容:创建新的命名空间,在项目中导入已有的命名空间,并为命名空间指定别名;使用Try…Catch…Finally结构进行错误处理;在Windows应用程序中处理数据绑字,并更新底层的数据源;开发多线程应用程序的方法;.NET远程技术,用于在客户端和服务器之间交换串行化的对象;移动Web应用程序和.NET Compact Framework应用程序之间的区别。 -
C#高级编程(美)Simon Robinson,(美)Christian Nagel等著;李敏波翻译;李敏波译对于开发人员来说,把C#语言及其相关环境.NET Framework描述为多年来最重要的新技术一点都不夸张。.NET提供了一种新环境。在这个环境中,可以开发出运行在Windows上的几乎所有应用程序,而C#是专门用于.NET的新编程语言。例如,使用C#可以编写出动态Web页面、XML Web服务、分布式应用程序的组件、数据库访问组件或传统的Windows桌面应用程序。本书介绍.NET Framework 1.1,即.NET Framework的第2版,但本书的大部分内容也适用于.NET Framework 1.0。如果使用1.0版本进行编码,就需要作一些修改,本书将在需要修改的地方指出要修改的内容。不要被.NET这个名称所愚弄,这个名称仅强调Microsoft相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上,但C#不仅仅是编写Internet或与网络相关的应用程序的一种语言,它还提供了一种编写Windows平台上几乎任何类型的软件或组件的方式。另外,C#和.NET都对编写程序的方式进行了革新,更易于实现在Windows上编程。这是一个相当重要的声明。毕竟,我们都知道计算机技术的发展速度非常快,每年Microsoft都会推出新软件、新的编程工具或Windows的新版本,并宣称这些对开发人员都非常有用,.NET和C#也不例外。.NET和C#的重要性为了理解.NET的重要性,考虑一下近10年来出现的许多Windows技术的本质会有一定的帮助。尽管所有的Windows操作系统在表面上看来完全不同,但从Windows 3.1(1992年)到Windows Server 2003,在内核上都有相同的Windows API。在我们转而使用Windows的新版本时,API中增加了非常多的新功能,但这是一个演化和扩展API的过程,并非是替换它。开发Windows软件所使用的许多技术和架构也是这样。例如,COM (Component Object Model,组件对象模型)是作为OLE (Object Linking and Embedding,对象链接和嵌入)开发出来的,那时,它在很大程度上仅是把不同类型的办公文档链接在一起,所以利用它可以把一个小Excel电子表格放在Word文档中。之后,它逐步演化为COM、DCOM (Distributed COM,分布式组件对象模型)和最终的COM+。COM+是一种复杂的技术,它是几乎所有组件通信方式的基础,实现了事务处理、消息传输服务和对象池。Microsoft选择这条道路的原因非常明显:它关注向后的兼容性。在过去的这些年中,第三方厂商编写了相当多的Windows软件,如果Microsoft每次都引入一项不遵循现有代码基础的新技术,Windows就不会获得今天的成功。向后兼容性是Windows技术的极其重要的特性,也是Windows平台的一个长处,但它有一个很大的缺点。每次某项技术进行演化,增加了新功能后,都会比它以前更复杂。很明显,对此必须进行改进。Microsoft不可能一直扩展这些开发工具和语言,使它们越来越复杂,既要保证能跟上最新硬件的发展步伐,又要与20世纪90年代初开始流行的Windows产品向后兼容。如果要得到一种简单而专业化的语言、环境和开发工具,让开发人员轻松地编写优秀的软件,就需要一种新的开端。这就是C#和.NET的作用。粗略地说,.NET是一种在Windows上编程的新架构—— 一种新API。C#是一种新语言,它可以利用.NET Framework及其开发环境中的所有新特性,以及在最近20年来出现的面向对象的编程方法。在继续介绍前,必须先说明,向后兼容性并没有在这个演化进程中失去。现有的程序仍可以使用,.NET也兼容现有的软件。软件组件在Windows上的通信,现在几乎都是使用COM实现的。因此,.NET能够提供现有COM组件的包装器(wrapper),以便.NET组件与之通信。Microsoft已经扩展了C++,提供了一种新语言J#,还对VB进行了很多改进,把它转变成为功能更强大的VB.NET,并允许把用这些语言编写的代码用于.NET环境。但这些语言都因有多年演化的痕迹,所以不能完全用现在的技术来编写。本书将介绍C#编程技术,同时提供.NET体系结构工作原理的必要背景知识。我们不仅会介绍C#语言的基础,还会给出使用各种相关技术的应用程序示例,包括数据库访问、动态的Web页面、先进的图形技术和目录访问等。惟一的要求是用户至少熟悉一门在Windows上使用的高级语言,例如C++、VB或J++。 .NET的优点前面阐述了.NET的优点,但并没有说它会使开发人员的工作更易于完成。在本节中,我们将简要讨论.NET的改进特性。●面向对象的编程:.NET Framework和C#从一开始就完全是基于面向对象的。●优秀的设计:一个基类库,它是以一种非常直观的方式设计出来的。●语言的无关性:在.NET中,VB.NET、C#、J#和Managed C++等语言都可以编译为通用的中间语言(Intermediate Language)。这说明,语言可以用以前没有的方式交互操作。●对动态Web页面的支持:ASP具有很大的灵活性,但效率不是很高,这是因为它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致ASP代码比较凌乱。.NET使用一种新技术ASP.NET,它为Web页面提供了一种集成式的支持。使用ASP.NET,可以编译页面中的代码,这些代码还可以使用.NET高级语言来编写,例如C#、J#或VB.NET。●高效的数据访问:一组.NET组件,总称为ADO.NET,提供了对关系数据库和各种数据源的高效访问。这些组件也可以访问文件系统和目录。.NET内置了XML支持,可以处理从非Windows平台导入或导出的数据。●代码共享:.NET引入了程序集的概念,替代了传统的DLL,可以完美无暇地修补代码在应用程序之间的共享方式。程序集有解决版本冲突的正式系统,程序集的不同版本可以同时存在。 ●增强的安全性:每个程序集还可以包含内置的安全信息,这些信息可以准确地指出谁或哪种类型的用户或进程可以调用什么类的哪些方法。这样就可以非常准确地控制程序集的使用方式。●对安装没有任何影响:有两种类型的程序集,分别是共享程序集和私有程序集。共享程序集是可用于所有软件的公共库,私有程序集只用于某个软件。私有程序集功能完备,所以安装过程非常简单,没有注册表项,只需把相应的文件放在文件系统的相应文件夹中即可。●Web服务的支持:.NET集成了对开发Web服务的完全支持,用户可以开发出任何类型的应用程序。●Visual Studio .NET 2003:.NET附带了一个开发环境Visual Studio .NET,它可以很好地利用C++、C#、J#、VB.NET和ASP.NET进行代码编写。Visual Studio .NET集成了Visual Studio 6环境中各种语言专用的所有最佳功能。●C#:是使用.NET的一种面向对象的新语言。第1章将详细讨论.NET体系结构的优点。.NET Framework 1.1中的新增特性.NET Framework的第1版(1.0版)在2002年发布,赢得了许多人的喝彩。.NET Framework的最新版本1.1在2003年发布,它被认为是对该架构进行了较小的改进。即使是较小的改进,新版本仍有一些非常明显的变化和新增的内容,值得我们探讨一番。在对.NET Framework 1.1版本进行的所有改进中,Microsoft试图确保对使用1.0版本编写的代码改动尽可能少。即使做了这样的努力,但在新版本中仍有一些显著的变化。许多代码的改进是为了增强安全性。读者可以在Microsoft的GotDotNet Web站点(http://www.gotdotnet.com)上查看完整的改进列表。下面详细论述.NET Framework 1.1版本中的一些改进和Visual Studio .NET 2003(.NET Framework 1.1的开发环境)的新增特性。 可移动性在使用.NET Framework 1.0和Visual Studio .NET 2002时,要创建可移动应用程序,就必须下载Microsoft Mobile Internet Toolkit(MMIT)。而现在,有了.NET Framework 1.1和Visual Studio .NET 2003,就可以直接创建可移动应用程序,不需要下载其他工具包了。在使用Visual Studio .NET 2003创建新项目时,这是显而易见的。例如,在查看可以创建的C#项目类型列表时,会看到ASP.NET Mobile Web Application和Smart Device Application。ASP.NET Mobile Web Application项目类型可以用于建立基于Web的可移动应用程序。Smart Device Application项目类型可以创建用于Pocket PC或其他Windows CE设备的应用程序。为Windows CE设备建立的第三方客户应用程序利用的是Compact Framework,这是.NET Framework的删节版本。打开任何一种可移动项目类型,系统就会在Visual Studio .NET工具箱中列出一组可用的可移动服务器控件,然后用户就可以使用这些控件创建应用程序。 新的数据提供程序在新的架构中,另一个大的变化是ADO.NET。ADO.NET是访问和处理数据的.NET方式,现在它有两个新的数据提供程序,其中一个用于ODBC,另一个用于Oracle。在使用.NET Framework 1.0时,就可以使用ODBC数据提供程序,但它需要单独下载。另外,一旦下载,这个数据提供程序的命名空间就是Microsoft.Data.Odbc。而在.NET Framework 1.1中,ODBC数据提供程序是内置的,不需要单独下载。而且可以通过System.Data.Odbc命名空间来使用ODBC数据源,访问ODBC数据连接、数据适配器和数据读取器对象。另一个新的数据提供程序用于处理Oracle数据库。该数据库在企业中的应用非常广泛,缺乏Oracle数据提供程序常常是.NET进入企业的一大障碍。为了使用这个新的数据提供程序,需要在项目中引用System.Data.OracleClient命名空间。 新的语言:Visual J# 在安装Visual Studio .NET 2003时,注意该版本提供了一种新语言Visual J#,可用于建立.NET应用程序。在此版本之前,Visual Studio .NET 2002需要单独安装该语言。Visual J#简称为J#(读作J-Sharp),是Visual J++语言的新版本。它非常类似于Java语言,Java开发人员通过它将很容易迁移到.NET中。J#开发人员将使用.NET类库来代替Java运行 时库。在.NET平台上,J#开发人员将拥有与C#开发人员相同的能力。使用J#,也可以建立.NET类、Windows窗体应用程序、ASP.NET Web应用程序和XML Web服务。另外,还可以像使用其他.NET兼容语言那样,以跨语言的方式使用J#。例如,可以创建一个J#类,并在C#应用程序中使用这个J#类,或者可以创建一个C#类,并在J#应用程序中使用这个C#类。 与其他语言一样,在.NET Framework中也有用于J#的内置编译器。所有的编译器都位于C:/Windows/Microsoft .NET/Framework/v1.1.xxxx目录下。C#的编译器是csc.exe,VB.NET的编译器是vbc.exe,J#的编译器是vjc.exe。 并发执行并发执行side-by-side execution是指在同一个服务器上运行应用程序的多个版本,其中不同的应用程序版本使用不同的运行库版本。Microsoft一直都向开发人员承诺提供这个功能,但该功能总是很难可视化,因为只能使用Framework的一个版本。在发布了Framework的第2版.NET Framework 1.1后,就可以看到Microsoft提供的这个功能了。现在,可以创建.NET应用程序面向.NET Framework 1.1的新版本,同时还可以让面向.NET Framework 1.0的旧应用程序像以前那样继续运行。 支持Internet Protocol 6(IPv6)最近,许多Internet使用IP 4运行,IP4也称为IPv4。它提供了IP地址,例如255.255.255. 255。.NET Framework 1.1现在支持IPv6,IPv6是在1995年创建的,解决了IPv4所面临的许多问题。如果人们一直采用IPv4,将很快用尽可用的IP地址。.NET Framework 1.1通过System.Net命名空间支持IPv6,ASP.NET和XML Web服务也支持IPv6。Visual Studio .NET 2003的改进在升级.NET Framework时,还对Visual Studio .NET本身进行了升级。注意,在开始页面上有一些新图形,该页面上对象的组织方式也有所不同。另外,新IDE最重大的变化是,一旦安装,就不是简单地把Visual Studio .NET 2002升级为Visual Studio .NET 2003,而是安装了一个全新的IDE版本。如果机器上已经安装了Visual Studio .NET 2002,就会得到两个完全独立的VS.NET IDE。这样,如果要创建和使用面向.NET Framework 1.0的应用程序,就使用VS.NET 2002;如果要创建和使用面向.NET Framework 1.1的应用程序,就使用VS.NET 2003。还应注意,在打开用VS.NET 2002创建的项目时,系统会询问是否要把项目升级为VS.NET 2003项目,如果回答“是”,就会把项目升级为面向.NET Framework 1.1的应用程序。注意,这是一个不可逆的过程。除了这些较大的变化之外,在VS.NET 2003的IDE中,Intellisense的智能化程度更高,代码自动完成功能更强。本书将使用IDE的这个版本。 C#的优点C#在某种程度上可以看作是.NET面向Windows环境的一种编程语言。在过去的十几年里,Microsoft给Windows和 Windows API添加了许多功能,VB和C++也经历了许多变化。虽然VB和C++最终已成为非常强大的语言,但这两种语言也存在问题,因为它们保留了原来的一些内容。对于Visual Basic来说,它的主要优点是很容易理解,许多编程工作都很容易完成,基本上隐藏了Windows API和COM组件结构的内涵。其缺点是Visual Basic从来没有实现真正意义上的面向对象,所以大型应用程序很难分解和维护。另外,因为VB的语法继承于BASIC的早期版本(BASIC主要是为了让初学者更容易理解,而不是为了编写大型商业应用程序),所以不能真正成为结构化或面向对象的编程语言。另一方面,C++在ANSI C++语言定义中有其自己的根。它与ANSI不完全兼容,因为Microsoft是在ANSI定义标准化之前编写C++编译器的,但已经相当接近了。遗憾的是,这导致了两个问题。其一,ANSI C++是在十几年前的技术条件下开发的,因此不支持现在的概念(例如Unicode字符串和生成XML文档),某些古老的语法结构是为以前的编译器设计的(例如成员函数的声明和定义是分开的)。其二,Microsoft同时还试图把C++演变为一种用于在Windows上执行高性能任务的语言—— 在语言中避免添加大量Microsoft专用的关键字和各种库。其结果是在Windows中,该语言成为了一种非常杂乱的语言。让一个C++开发人员说说字符串有多少个定义方式就可以说明这一点:char*、LPTSTR、string、CString (MFC 版本)、CString (WTL 版本)、wchar_t*和 OLECHAR*等。现在进入.NET时代—— 一种全新的环境,它对这两种语言都进行了新的扩展。Microsoft给C++添加了许多Microsoft专用的关键字,并把VB演变为VB.NET,保留了一些基本的VB语法,但在设计上完全不同,从实际应用的角度来看,VB.NET是一种新语言。在这里,Microsoft决定给开发人员另一个选择—— 专门用于.NET、具有新起点的语言, 即Visual C# .NET。Microsoft在正式场合把C#描述为一种简单、现代、面向对象、类型非常安全、派生于C和C++的编程语言。大多数独立的评论员对其说法是“派生于C、 C++ 和Java”。这种描述在技术上是非常准确的,但没有涉及到该语言的真正优点。从语法上看,C#非常类似于C++和Java,许多关键字都是相同的,C#也使用类似于C++和Java的块结构,并用括号({})来标记代码块,用分号分隔各行语句。对C#代码的第一印象是它非常类似于C++或Java代码。但在这些表面上的类似性后面,C#学习起来要比C++容易得多,但比Java难一些。其设计与现代开发工具的适应性要比其他语言更高,它同时具有Visual Basic的易用性、高性能以及C++的低级内存访问性。C#包括以下一些特性:●完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。●定义完整、一致的基本类型集。●对自动生成XML文档说明的内置支持。●自动清理动态分配的内存。●可以用用户定义的特性来标记类或方法。这可以用于文档说明,对编译有一定的影响(例如,把方法标记为只在调试时编译)。●对.NET基类库的完全访问权,并易于访问Windows API。●可以使用指针和直接内存访问,但C#语言可以在没有它们的条件下访问内存。●以VB的风格支持属性和事件。●改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用。●C#可以用于编写ASP.NET动态Web页面和XML Web服务。应该指出,对于上述大多数特性,VB.NET和Managed C++也具备。但C#从一开始就使用.NET,对.NET特性的支持不仅是完整的,而且提供了比其他语言更合适的语法。C#语言本身非常类似于Java,但其中有一些改进,因为Java并不是为应用于.NET环境而设计的。在结束这个主题前,还要指出C#的两个局限性。其一是该语言不适用于编写时间急迫或性能非常高的代码,例如一个要运行1000或1050次的循环,并在不需要这些循环时,立即清理它们所占用的资源。在这方面,C++可能仍是所有低级语言中的佼佼者。其二是C#缺乏性能极高的应用程序所需要的关键功能,包括保证在代码的特定地方运行的内联函数和析构函数。但这类应用程序非常少。 编写和运行C#代码需要的环境.NET运行在Windows 98、2000、XP和2003上,要使用.NET编写代码,需要安装.NETSDK,除非使用内置了.NET Framework 1.0和1.1的Windows Server 2003。除非要使用文本编辑器或其他第三方开发环境来编写C#代码,否则一般使用Visual Studio .NET 2003。运行托管代码不需要安装完整的SDK,但需要.NET运行库。需要把.NET运行库分布到还没有安装它的客户机上。 本书的内容在本书中,首先在第1章介绍.NET的整体结构体系,给出编写托管代码需要的背景知识,此后本书分几部分介绍C#语言及其在各个领域中的应用。第一部分(第1~11章)—— C#语言本部分给出C#语言的背景知识。这部分没有指定任何语言,但假定读者是有经验的编程人员。首先介绍 C#基本语法和数据类型,再介绍C#的面向对象特性,之后是C#中的一些高级 论题。第二部分(第12~18章)—— .NET环境在本部分中,介绍在.NET环境中的编程规则。特别是Visual Studio .NET、安全性、.NET应用程序的线程部署,以及把库生成为程序集的方式。第三部分(第19~20章)—— Windows窗体本部分讨论传统Windows应用程序的创建,在.NET中这种应用程序称为Windows窗体。Windows窗体是应用程序的客户版本,使用.NET创建这些类型的应用程序是实现该任务的一种快捷、简单的方式。除了介绍Windows窗体之外,我们还将论述GDI+,这种技术可用于创建包含高级图形的应用程序。第四部分(第21~24章)—— 数据这部分介绍如何使用ADO.NET访问数据库,以及目录和Active Directory交互。我们还详细说明.NET对XML的支持,以及对Windows操作系统的支持。第五部分(第25~27章)—— Web编程这一部分介绍如何编写在网站上运行的组件,如何编写网页。其中包括ASP.NET的使用和Web服务程序的编写。第六部分(第28~29章)—— 交互操作COM的向后兼容性是.NET的一个重要组成部分,COM+负责事务处理、对象池和消息的排队。本部分将介绍.NET对处理COM和COM+的支持,并讨论如何编写与这些技术交互的C#代码。第七部分(第30~32章)—— Windows基本服务本部分是本书主要内容的总结,介绍如何访问文件和注册表,如何通过应用程序访问Internet,以及如何使用Windows服务。第八部分—— 附录(本书仅提供内容下载地址)本部分包含几个附录,详细介绍了面向对象的编程规则及C#编程语言专用的信息。这些附录在本书中并未给出,您可以通过本书提及的Web站点http://www.wrox.com获得其PDF版本。 如何下载本书的示例代码在您学习本书的示例时,可以选择手工输入所有的代码,也可以使用与本书有关的源代码文件。本书所有的源代码都可以从http://www.wrox.com/上下载。在您登录到这个站点时,只需使用Search工具或使用书名列表就可以找到本书。接着单击本书信息页面上的Download Code链接,就可以获得所有的源代码。 提示:许多图书的书名都很相似,所以通过ISBN查找本书是最简单的,本书的ISBN是0-7645-5759-9。 下载了代码后,就可以使用自己喜欢的解压缩工具对它进行解压缩。另外,也可以进入Wrox代码的主下载页面http://www.wrox.com/dynamic/books/download.aspx,查看本书所用的代码和其他Wrox图书。 勘误表尽管我们已经尽了各种努力来保证本书不出现错误,但是错误总是在所难免,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将不胜感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。要在网站上找到本书的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书 ,然后在本书的信息页面上,单击Book Errata链接。在这个页面上,可以查看已经提交并通过编辑检查的所有勘误。包含每本书的错误勘误表链接的完整图书列表可通过http://www.wrox.com/misc-pages/booklist.shtml获得。 如果没有在Book Errata页面上找到自己发现的错误,可以进入http://www.wrox.com/ contact/techsupport.shtml,填写其上的表单,将您发现的错误发送给我们。我们会检查您的信息,如果正确,就把它上传到该书的勘误表页面上,或在本书的后续版本中采用。 p2p.wrox.comP2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在p2p.wrox.com上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新贴子时,会给您发送您选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。在http://p2p.wrox.com上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,需执行下面的步骤:(1) 进入p2p.wrox.com,单击Register链接。(2) 阅读其内容,单击Agree按钮。(3) 提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 提示:不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。 加入论坛后,就可以发送新信息,回应其他用户的贴子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的Subscribe to this Forum图标。对于如何使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。
