ASP.NET学习手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 走进ASP.NET

每个人都是从零开始成长的。程序员当然也不例外,从开始接触编程,到开始学习编程,之后以一个初级程序员的身份参加工作,一两年之后成为一名高级程序员,再之后就是做一名出色的系统分析师,来策划整个项目并分配任务。从开始学习编程到成为一名系统分析师,大概就需要花费5年的时间。当然这需要程序员在工作中,不断地学习、研究。系统分析师的工作是令人羡慕的,也是很多公司的挖掘对象。这也就是为什么说IT业是一个很有发展空间的职业,也许在不久的将来,你就是一个优秀的系统分析师。为了这个目标,从本章开始努力学习吧。通过本章的学习,你可以掌握以下知识:

了解ASP.NET到底是什么

明白自己选择ASP.NET的理由

欣赏由ASP.NET开发的成功案例图片

掌握学好ASP.NET的方法

1.1 接触ASP.NET

从本节开始,读者将会踏上奇妙的ASP.NET之旅。本节能够使读者了解什么是ASP.NET、什么是.NET Framework框架、C#语言的诞生以及这三者之间的关系。

1.1.1 ASP.NET是什么

ASP.NET是一种开发动态网站的技术。它是.NET框架的一部分,可以使用任何.NET兼容的语言(如Visual Basic .NET、C#、J#等语言)来编写ASP.NET网站。ASP.NET是作为.NET框架体系结构的一部分推出的,其更新顺序如下:

2000年ASP.NET 1.0正式发布。

2003年ASP.NET升级为1.1版本。

2005年11月微软公司发布了ASP.NET 2.0。

2008年2月微软公司发布了ASP.NET 3.5。

ASP.NET 3.5开发网站时,用“简化”来形容一点不为过。因为其设计目标是将应用程序代码数减少70%,改变过去那种需要编写很多重复性代码的状况,尽可能做到写很少的代码就能完成任务的效果。对于应用构架师和开发人员而言,ASP.NET 3.5是Microsoft Web开发史上的一个重要的里程碑!

『名词解析』动态网站和静态网站

在此读者可能会有疑惑,什么是动态网站?什么是静态网站?所谓的动态网站就是网站中网页网址的后缀名不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以aspx、asp、.jsp、.php等形式为后缀,动态网页可以与数据库交互,并且在动态网页网址中可以使用“?”传递参数;静态网页是相对于动态网页而言的,是指没有后台数据库、不含程序和不可交互的网页,编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。

1.1.2 .NET Framework

.NET Framework是微软公司推出的完全面向对象的软件开发与运行平台。.NET Framework具有两个主要组件:公共语言运行时(Common Language Runtime,简称CLR)和类库。

公共语言运行时:公共语言运行时(CLR)负责管理和执行由.NET编译器编译产生的中间语言代码(.NET程序执行原理如图1-1所示)。由于公共语言运行库的存在,解决了很多传统编译语言的一些致命缺点,如垃圾内存回收、安全性检查等。

图1-1 .NET程序执行原理

类库:类库我们比较好理解,就好比一个大仓库里装满了工具。类库里有很多现成的类,可以拿来直接使用。例如,文件操作时,可以直接使用类库里的IO类。

『名词解析』中间语言代码

所谓的中间语言代码是一种类似于汇编的程序语言,起到中介或翻译的作用。例如,有汉语、日语和法语三位学者,他们正在交流一个问题,他们怎么交流呢?最后,他们选择用英语进行交流,因为英语是世界上普及较广的语言。这样,他们彼此才能明白对方说的是什么。此处的英语就相当于中间语言,任何语言都会被编译成中间语言。

1.1.3 C#语言

Visual C#(以下简称C#)是微软公司推出的一种语法简洁、类型安全的面向对象的编程语言,开发人员可以通过它编写在.NET Framework上运行的各种安全可靠的应用程序,使用C#可以创建很多程序,例如,中国移动飞信系统、安华农业保险系统等。既然C#功能这么强大,并且很多程序员都使用C#开发ASP.NET,那么C#的开发者是谁?C#是什么时期诞生的?我们带着这些疑问来学习下面的内容。

1998年,安德斯•海尔斯伯格(Delphi和Turbo Pascal语言的设计者)以及他的微软开发团队开始设计C#语言的第一个版本。2000年9月,ECMA(国际信息和通信系统司标准化组织)成立了一个任务组,着力为C#编程语言定义一个Microsoft建议标准。据称,其设计目标是制定“一个简单、现代、通用、面向对象的编程语言”,于是出台了ECMA-334标准,这是一种令人满意的简洁的语言,它有类似Java的语法,但显然又借鉴了C++和C的风格。设计C#语言是为了增强软件的健壮性,为此提供了数组越界检查和“强类型”检查,并且禁止使用未初始化的变量。C#语言自从2002年随着Visual Studio一起推出,其发展趋势如图1-2所示。

图1-2 C#语言发展趋势

学习手册 说明

从图1.2中可以看出,C#自从2002年正式发布以来,一直呈现稳定的上升趋势,而且作为微软全力推广的一种新语言,伴随着Windows 7操作系统(内嵌.NET Framework 3.5)的发布与普及,它的发展前景被世界的编程人员所瞩目,前途不可限量。

1.1.4 三者之间的关系

通过以上几节的学习,读者对ASP.NET、.NET Framework和C#已经有所了解。那么,这三者之间是否存在某种关系呢?答案是肯定的。通过C#或其他语言可以开发出ASP.NET应用程序,但是ASP.NET应用程序还必须运行在.NET Framework平台上,因为C#的命名空间和类库都是在.NET Framework中,对于这三者之间的关系,图1.3可以很好地进行诠释。

图1-3 ASP.NET、.NET Framework和C#三者之间的关系

1.2 选择ASP.NET的理由

编程语言有很多,为什么选择ASP.NET呢?之所以ASP.NET受到众多编程爱好者的喜爱,一定有其自己的特性和优点,通过本节,读者可以对ASP.NET的特性和优点有所了解,揭开ASP.NET受宠之谜。

1.2.1 ASP.NET特性

与其他语言相比,ASP.NET开发网站的速度是非常惊人的,维护起来也相当方便,且使用代码少。同时,还可以根据自己的需求向ASP.NET添加自定义功能。ASP.NET特性主要包括以下几方面:

开发效率:使用新增的ASP.NET服务器控件和包含新增功能的现有控件,可以轻松、快捷地创建ASP.NET网站。

灵活性和可扩展性:很多ASP.NET功能都可以扩展,这样可以轻松地将自定义功能集成到程序中。例如,ASP.NET为不同数据源提供插入支持。

性能:使用缓存和SQL缓存失效等功能,可以优化网站的性能。

安全性:向网站程序中添加身份验证和授权比以往任何时候都简单。

利用ASP.NET AJAX可以创建更有效、更具交互性、高度个性化的Web体验,这些体验在所有最流行的浏览器上都能实现。

Visual Studio 2008对WF、WCF和WPF的完美支持。

1.2.2 ASP.NET的优点

ASP.NET与以前的Web开发相比,增加了许多功能,其优点也很明显。所以,下面介绍ASP.NET的几个重要的优点。

(1)增强的性能

ASP.NET是将编译好的公共语言运行库代码运行在服务器上。它可以利用早期绑定、实时编译、本机优化和缓存服务,相当于在编写代码前就提高了应用程序性能。

(2)威力和灵活性

由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以使用整个平台的威力和灵活性。.NET框架类库、消息处理和数据访问解决方案都可从Web进行无缝访问。ASP.NET与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。

(3)简易性

ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了程序的开发过程。

(4)可管理性

ASP.NET采用基于文本的分层配置系统,简化了设置应用于服务器环境和Web应用程序的工作。

(5)自定义性和扩展性

ASP.NET使开发人员可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。

(6)安全性

内置Windows身份验证和基于每个应用程序的配置保证了应用程序是安全的。

1.3 欣赏ASP.NET成功案例

ASP.NET作为微软全力推出的一个崭新的网站开发技术,经过最近几年的发展,在实际生活中已经有了很多成功的项目案例,比如世界饮食行业的龙头老大KFC、中国最成功的游戏之一问道、中华人民共和国人力资源和社会保障部以及中国最著名的汽车产商之一东风汽车公司等,它们的官方网站都是用ASP.NET开发的。

1.3.1 龙头老大KFC

肯德基(KFC)的名字家喻户晓,它有着悠久的历史,已经成为世界饮食行业的龙头老大,其食品的卫生和口味也得到认可,更是以方便和快捷征服广大消费者。其官方网站就是由ASP.NET开发的,如图1-4所示。

图1-4 KFC官方网站

1.3.2 问道官网

问道是历时两年时间开发而成的2D回合制网络游戏。它是一款以深厚博大的道教文化为切入点,以《道德经》、《庄子》中的人物为衍生,用幽默搞笑的工笔画风格再现了道家风骨的回合制网游。其官方网站也是用ASP.NET开发的,如图1-5所示。

图1-5 问道游戏官方网站

1.3.3 中华人民共和国人力资源和社会保障部

中华人民共和国人力资源和社会保障部是统筹机关企事业单位人员管理以及城乡就业和社会保障政策的中国国家权力机构。十一届全国人大一次会议第四次全体会议(2008.03.11)“国务院机构改革方案”审议通过组建,同时组建国家公务员局,由人力资源和社会保障部管理。不再保留人事部、劳动和社会保障部。2008年3月31日正式挂牌,而其官方网站也于同日开始运行。其官方网站也是用ASP.NET开发的,如图1-6所示。

图1-6 中华人民共和国人力资源和社会保障部官方网站

1.3.4 东风汽车公司

东风汽车公司始建于1969年,是中国汽车行业的骨干企业之一。公司主要业务分布在十堰、襄樊、武汉、广州四大基地,形成了“立足湖北,辐射全国,面向世界”的事业布局。公司总部设在“九省通衢”的武汉,主营业务涵盖全系列商用车、乘用车、发动机及汽车零部件和汽车水平事业。其官方网站同样使用ASP.NET开发,如图1-7所示。

图1-7 东风汽车公司官方网站

1.4 学好ASP.NET的方法

学习编程对大多数IT人员来说都是非常重要的,学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中遇到的问题,改进现有软件,还可以为自己找到一份理想的工作添加重要的筹码,有利于在求职道路上谋得一个好的职位,一名优秀的程序员永远是被争夺的对象。

笔者也是从一个初学者一路走来的,通过一路上的自学探究,深深体会到对于任何一门技术来说往往是两头难,也就是入门难、精通难。对于学习Web开发来说更是如此,Web开发不是一门语言,而是多种技术、多个语言的集合。

通过本章的学习,读者对ASP.NET已经有了深刻的认识。那么,接下来就应该考虑如何才能学好ASP.NET。在整个学习过程中,要学会使用一些工具来解答问题(例如,Microsoft Visual Studio的MSDN帮助文档,在以后章节中会做详细介绍)。因为不是每一个初学者的周围都会有高手回答自己的问题,所以我们要学会自己解决问题,同时需要注意以下几个问题。

1.4.1 明确学习目的

在确定学习编程之前,先问问自己为什么要学习编程,有没有信心学好。这一点很重要,不要随波逐流,看大家都在学就去学,这样盲目的学习对自己没有好处。

1.4.2 打好基础,盖好“房子”

学习编程如同盖房子一样,只有良好的基础才能把大楼盖得更高、更好。程序员也是如此,想要有良好的发展,必须有扎实的基础。在学习编程之初,一定要注重逻辑思维能力的培养,要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程的过程中,我们不必等到什么都完全明白了再去动手实践,先尝试做出一些东西,然后再去探究原因,这种曲折式的学习方法更适合初学者。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成才的。

1.4.3 多请教、多交流

在初学编程的过程中,一定会遇到很多的问题,当遇到问题时,一定要多和同学交流、多向老师请教。千万不要问代码应该怎么写,应该问解决问题的思路。

另外,对于初学者一定还要利用好大型搜索引擎网站(百度、谷歌等)和比较知名的社区论坛(如明日科技编程词典学习社区bbs.mrbccd.com等)。

学习手册 说明

一定要学会搜索,全世界这么多人在学习ASP.NET,如果你遇到问题,这个问题99%别人也遇到过。现在网络这么发达,无数人在Blog、论坛分享自己的解决方案,因此如果大家在学习过程中遇到难题,身边没有其他人可以帮助,通过搜索引擎在网络上寻找答案是一种较好的学习方式。

1.5 本章小结

本章主要带领读者了解什么是ASP.NET、.NET Framework和C#,并通过直观的示意图展示这三者之间的关系。学习本章之后,读者能够更好地了解ASP.NET的特性和优点,并且欣赏ASP.NET的成功案例。对于初学者来说,如何学好ASP.NET已经成为首要问题。作者在本章最后概括了自己从初学者到开发者的过程中总结出来的学习方法,希望对读者能够起到点拨的作用。