日期:2011-08-13 浏览次数:20474 次
asp.net是微软的.net框架的重要组成部分,它使用vb.net、c#和jscript.net程序设计语言来实现动态网页编程,这使得它的编程非常灵活和高效。同时asp.net是基于组件技术和面向对象的开发系统,程序员可以使用系统的丰富组件,如文件上传、e-mail发送、文件操作、广告组件等。不但如此,程序员还可以开发自己的组件,扩展asp.net的功能。
asp.net直接支持组件和code-behind技术,可以更好地实现程序代码和html代码的分离。asp.net采用了新的叫做ado.net的数据库访问技术,可以大大地提高数据访问的效率,也可以很容易地开发数据库应用系统。
一、asp.net的运行、开发环境
1.asp.net的运行环境
(1)硬件要求
cpu: intel pentium ii 300 mhz (最好intel pentium iii 600 mhz)
内存: 96 mb (最好128 mb)
磁盘空间: 250 mb(完全安装) 155 mb(快速安装)
显示: 800×600, 256色
cd-rom:倍速光驱
(2)软件要求
windows 2000 professional、windows 2000 server、windows 2000 advanced server、ie 5.5、ngws。
asp.net目前能支持c#、vb、jscrip等三种语言。
二、asp.net的安装
1.安装asp.net
可以从这里下载asp.net的安装程序:http://download.microsoft.com/download/platformsdk/trial/1812.10full/nt5/en-us/setup.exe。asp.net的安装过程很简单,只需按照简单提示安装即可完成。但是,如果你的计算机安装了office 2000,建议安装asp.net之前先备份\microsoft office\office\mso9.dll文件,因为安装完asp.net后,office会提示你注册,否则的话office 2000会出现使用50次的限制。此时将备份的mso9.dll文件覆盖掉原来的文件即可。
2.ngws
asp.net实际上是一个崭新的运行结构的一部分,这个结构提供对所有windows应用程序的支持。这个结构是microsoft's next generation web services (ngws)关键部分。当你安装了这个结构,你也就同时获得了asp.net。这个结构同样支持所有其他服务器程序技术。
ngws 结构通过对可升级分布式应用添加(新的和增强的服务)来扩展com的结构,此种结构常用做编写可重复调用的可共同使用的软件组件,这些新的和增强的服务有:
一套统一的丰富的程序库; 一个支持多语言的运行引擎;简单地应用建立、调试以及维护;对分布式应用加强了可升级性;保护现已存在的软件和投资。
三、asp.net概念解析
1.web form
表单,英文单词是form。在.net架构里,form是一个经常使用到的词汇。web form代表了一个一个的web页面。总的看来,form就像是一个容纳各种控件的容器,各种控件都必须直接或者间接地与它发生依存关系。“表单”这个词,在web程序员看来,总是和html里面的“form”相混淆。“web表单”似乎翻译成“web页面”更加妥当一些。
大家还记得vb里面的form实际上就是一个对象吧,它可以有自己的属性、方法、事件等等。web表单,或者说web页面,实际上是一个“对象” (object)。.net架构里面一个比较重要的概念就是“对象”,所有的控件都是对象,甚至数据类型都成了对象;每种数据类型都有自己特有的属性和方法。我们在后面的编程中将体会到。
web form的后缀名是aspx。当一个浏览器第一次请求一个aspx文件时,web form页面将被clr(common language runtime)编译器编译。此后,当再有用户访问此页面时,由于aspx页面已经被编译过,所以,clr会直接执行编译过的代码,这和asp的情况完全不同。asp只支持vbscript和javascript这样的解释性的脚本语言。所以asp页面是解释执行的。当用户发出请求后,无论是第一次,还是第一千次,asp的页面都将被动态解释执行。而asp.net支持可编译的语言,包括vb.net、c#、jscript.net等。所以,asp.net是一次编译多次执行。
为了简化程序员的工作,aspx页面不需要手工编译,而是在页面被调用的时候,由clr自行决定是否编译。一般来说,下面两种情况下,aspx会被重新编译:
(1)aspx页面第一次被浏览器请求;
(2)aspx被改写。
由于aspx页面可以被编译,所以aspx页面具有组件一样的性能。这就使得aspx页面至少比同样功能的asp页面快250%!
网络表单把基于vb表单的高效率的优点带到了网络应用程序的开发中来。网络表单支持传统的将html内容与脚本代码混合的asp语法,但是它提出了一种将应用程序代码和用户接口内容分离的更加结构化的方法。引入的网络表单控件用于为封装通用用户接口元素提供了一种机制。这些新的特点使得开发工具在支持vb应用程序的同时,也支持设计时模块,使得wysiwyg(所见即所得)工具支持网页布局。
网络表单控件负责生成用户接口,典型情况是在html表单中。asp.net提供了一套映射传统的html用户接口小部件(包括列表框,文本框和按钮)的网络表单控件和一套附加的更加复杂的网络控件(如日历和广告板)。这些控件的一个重要特点是,它们可以被编写以适应客户端的能力;同一网页把大范围的客户端平台和表单因素作为目标。换句话说,网络表单控件能“探测”到正在查找表单的客户,然后返回合适的可能是适合低级浏览器的html 3.2或是适于ie 5.0的动态html。
考虑到网络是一种无状态的联接模型,网络应用程序开发人员所面临的一个很复杂的问题是,他们要对用户与基于网络接口的交互作用作出反应。网络利用asp.net的体系架构提供了一套丰富的服务,以帮助开发人员建立交互式网页。这些服务的作用是使基于组件的、事件驱动的可编程模块,对开发人员来说,非常象客户端的表单程序设计。用户与网页交互作用的状态管理的复杂性被asp.net网络表单和网络表单控件隐藏起来了。对开发人员来说,提供的丰富数据绑定服务使得显示通过数据访问服务得到的数据变得非常容易。
代码与内容的分离使asp.net网页能动态地编译到受控类中,用以提高性能。每个引入的http请求都被传递到一个新的网页实例,因此开发人员不需要关心代码中的线程安全性。
2.namespace(名字空间)
对象一直是windows开发环境中,程序开发的中心。不论在vb、vba、vc++、vbscript等都是如此,不同的开发环境有不同的对象,这些对象均是各个语法所提供“资源”,程序开发人员可以利用这些资源,来编写所需的系统。
在过去的asp中,仅有server、request、response……等七个对象。而在asp.net的对象库中却分得很细。
例如在asp.net网页中要通过sql语句获得数据库中的数据,必须使用“system.data.sql”,这是namespace(名字空间)名称。在system.data.sql下,又有很多类(class)。每个类可视为一个对象,因为类下有属性、方法和事件等
所以,最上层的namespace看作是同类型对象的集合,一个namespace之下可拥有多个类。它们之间的关系如图: (图)
3.文件类型
asp 的文件类型只有一种,其扩展名是.asp文件。但在asp.net有很多的文件类型:
(图)
四、asp.net的控件应用
asp.net提供四种类型的控件,即服务器端控件、验证控件、html控件和自定义控件,充分利用这些控