内 容 简 介本书全面阐述了C#语言和.NET Framework 的基础知识。首先介绍了C#语言的语法和公共语言运行库(CLR)的基础,接着循环渐进地介绍了Windows Forms应用程序、ASP.NET应用程序、Web服务、XML、加密、应用程序部署、数据访问、保障应用程序的安全,以及调试和测试等内容。
前 言 欢迎使用Visual C# .NET 2003 今天,人们生活在一个忙碌的时代。要花两三个星期才能得到一辆汽车的信贷申请结果的时代已经一去不复返了。现在这个时代是我们想到需要什么信息,就立即想要得到什么信息。 如今想要即时获取信息成为人们的一个共同需求。无论是在汽车上、飞机上、工作时或在家看电视的时候,我们都想即时得到信息。为了解决这种困境,IBM为世界带来了个人电脑。那时这个发明是很伟大的,但是对于普通大众来说,想拥有一台个人电脑需要一大笔钱,于是其他公司推出了便携式电脑。不要受便携(portable)这个术语的迷惑,这种电脑根本不便于携带。不过便携式电脑最终发展得足够小以便于携带,并且在一段时期内,一切都看起来很完美了。然而,随着时间的推移,又出现了另一种风尚:打开膝上型电脑查找联系人的电话号码或地址。接着出现了移动设备。再随着时间推移,移动设备,如个人数字助理(personal digital assistants,PDA)、手机,以及带PDA功能的手机变得更为先进,所有我们想要的信息几乎就是唾手可得了……但还不完全是。 这个时代的伟大之处在于每个人都有他自己的想法。有些想法是伟大的,有些则不是。这就带来了问题,大部分人会偏爱他们自己的想法并认为他们的方法才是正确的。这就使得各个公司以自已的想象开发技术,完成任务,最终使不同制造商生产的相似设备之间的通信很难实现。想象一下:现在得到一个任务,要从不同的股票牌价供应商那里搜集股票价格。第一个来源要求以专用协议查询供应商数据库。第二个来源每分钟都重新生成一个文件,可以下载并解析该文件来获取所需的信息。最后,第三个来源没有一个发布接口,因而要求执行“抓屏(screen scraping)”操作来得到所需的信息。没有一个访问信息的标准方法,在这种情况下,毫无疑问,要找到需要的数据会很复杂。 .NET的问世 幸运的是,对于这个问题,我们在Redmond的朋友考虑了很久,提出了一个称为.NET的解决方案。对于很多领域,如跨语言互操作性、系统稳定性的运行时管理、使用标准协议(如SOAP)的Web服务、分布式组件的无缝通信等,Microsoft都适时提出了一个端到端的解决方案。 编写这本书的首要目标是介绍理解.NET技术所必需的信息,让读者能够将这些知识运用到将来的项目中。其次,我们希望您不仅了解这项技术的工作方式,而且能知道为什么以这种方式工作。如今,知道调用函数A可以使系统执行某项任务后,很多程序员就满足了。但如果不知道函数A如何执行该任务,当在某段上下文中使用函数A却中断了函数B时,就无法得知其原因。如果不知道函数是如何运作的,也就不知道该如何使代码执行得更快、更有效率、更有扩展性以及更可靠。本书将向您揭示?.NET Framework的技术内幕,您不仅会学习如何使用C#中的属性,而且还将学习这些属性实际的运作方式。这样当某些程序中断时,您对框架的了解将能帮助您确定问题并快速想出解决方案。 Visual Studio .NET中的新内容 第一次打开Visual Studio .NET的时候,您会注意到它与之前的版本有很多不同之处。Visual Studio .NET和?.NET Framework将会改变您查看软件和创建软件的方式。Visual Studio .NET与其前身,比如Visual C++ 6.0,之间的区别包括: ● 全新设计的用户界面:Visual Studio .NET的用户界面把Visual C++、Visual Basic以及Visual InterDev各个之前版本中最好的功能组合起来了。 ● 高级帮助系统:帮助完全是唾手可得了。有了新的Dynamic Help System(动态帮助系统),与帮助文档的链接识别是上下文的,也就是会根据当前的工作内容来显示帮助文档。同样现在将MSDN(Microsoft Developers Network,微软开发人员网络)合并到集成开发环境(Integrated Development Environment,IDE)中,而不必作为一个外部的帮助应用程序来使用。 ● 极大地改进了调试器:将多种语言合并到Visual Studio .NET中,能够支持跨语言调试。现在,可以很容易地从Visual Basic .NET代码切换到Visual C#代码。 ● 支持部署:Visual Studio .NET现在包含了必要的工具组,可以将完成后的应用程序部署到最终目标。使用Microsoft Installer技术,可以在Visual Studio .NET的IDE中创建合并模块或整个安装程序。 ● 自动代码文档:组合使用可扩展标记语言(Extensible Markup Language,XML)标记,您无需借助第三方工具,就可以为代码创建格式完善的文档。 ● .NET:仅通过一个简短的词组是不足以概括.NET这项技术的。不言而喻,.NET不仅仅是一个架构,在?.NET这把大伞下包含了很多内容,如Windows Forms、Web服务,当然还有新的Microsoft编程语言——C#。 Visual Studio .NET带来的变化是巨大的,而要试着了解所有这些变化也是很困难的。无论如何,在阅读完本书之后,您将能够使用.NET Framework的所有功能,并了解这些功能的工作方式。如果您需要创建若干个对象,并且这些对象需要通过进程甚至是通过Internet进行通信,您将会运用第39章介绍的内容,“Remoting”。如果您需要创建一个对象,并且这个对象会在程序终止后保留自身,您会用到第7章介绍的知识点,“文件与流IO以及持久对象”。总之本书将使您获益匪浅。