使用ASP.NET创建Web的过程

动态Web开发技术:
1.CGI(common Gateway Interface公共网关接口)
通过CGI借口,服务器根据客户端(浏览器)传过来的请求运行相应的CGI程序,将执行性的结果再返回给浏览器,(此处浏览器的请求就相当于是浏览器访问一个页面的操作,而运行CGI程序执行的结果也就是生成相应的网页返回给浏览器)。CGI技术非常流行具有很好的跨平台性。CGI程序是一个独立的可执行程序,所以其也有很大的弊端,客户在请求服务器时需为每一个客户都创建一个新的进程(即CGI程序),如此就会占用很大内存空间,使服务器运行变慢,另外也因为其操作复杂功能有限限制了他的发展。
2.PHP(personal Home Page Tools)
在HTML中加入嵌入式脚本,其中HTML主要负责描述信息的显示样式,而脚本代码则用来描述信息的处理逻辑,通过服务器端的语法分析器对网页进行解释执行,从而生产动态网页,他相当于是混合式编程,即脚本与HTML描述语言混在一个文件中,这其实是影响对脚本代码的阅读的。PHP的语法类似于C及perl,它具有良好的跨平台性支持数据库oracle ,Informix ,sybase,Mysql,access.
3.JSP(java server pages)
JSP技术与微软的ASP技术比较像,都是在HTML代码中混合了某种语言编写的代码,并由语言引擎解释执行。两者采用不同的编程语言,重要的是JSP页面中嵌入的代码被编译成java servlet并有java虚拟机执行,这种编译操作仅在JSP页面第一次请求时才会发生。而ASP则是解释执行的,每进行一次的访问就需要进行一次的编译。JSP几乎可以在所有的操作系统上运行,尽管是WIN NT/2000server 上IIS通过一个插件JRUN或者servletexec就可以支持,他也可以支持Apache服务器。
4.ASP.NET
采用conde-behind技术将脚本描述语言与HTML语言分开,使开发更为简单。他也将程序在首次被访问时进行编译以后就不再进行编译,还提供了快速存取能力,当用户不再对服务器提出更多指令时,允许对象和输出数据被缓冲,可以有效地缩短服务器应答的时间。他是面向企业级的开发平台,实现对处理系统的完美支持。
ASP.NET网页的生命周期:
以上说过ASP.NET是在服务器端进行编译后再执行的,下面说说其具体的执行过程。当一个网页第一次被访问时,ASP.NET运行库会对网页文件进行分析处理,自动生成一个用c#或是VB描述的表示该页的.NET框架类文件,并将其编译成.dll文件,完成后在服务器端运行此文件可以动态地处理用户传入的请求。此后在进行该网页的访问,都只会运行这个被编译过的网页。
ASP.NET网页从创建到最后结束整个生命周期在每个阶段都会触发一定的事件,并将运行相应的事件处理函数。按照时间先后顺序依次分别是:
1.page_Init事件
在网页的初始化阶段,在此事件期间,ASP.NET网页框架还原控件属性和回发数据。
2.Page_Load事件
当网页初始化完成后将会触发这个事件,常用来读取和还原以前存储的数据,完成用户程序代码的初始化。典型的应用有数据的绑定,设置server control的属性、建立数据库链接。
3.Server Control事件
在vs中创建网页后缀为.aspx格式,会将生成的页面以HTML形式发给客户端浏览器,这时就可以对网页就行交互。触发事件发生在客户端浏览器但是执行事件处理函数确实在服务器端执行的。所以要进行一个轮回的交流过程。前面已经说过ASP.NET页面已经不再是持续性连接服务器,服务器也不会持续性对保持某个网页服务程序,而是在给浏览器处理完所有的要求后就删除掉所有的信息。这与Windows的应用程序时刻保持着客户端程序的信息及连接的运行机制是不同的。所以说网页在第一次请求访问之后在进行交互式操作时需要在服务器重建网页。因为每次建立网页都要执行Page_Init和Page_Load事件,但是这个事件中一般包含有像连接数据库这样的一次性操作,所以引入IsPackBack(回发)属性来处理。因为服务器不保存已创建页面的任何信息,为了给重新创建页面时以指引,所以需要在.aspx页面生成时自动生成一个隐藏栏,并将控件中所有信息都封装在其中,随着网页一起发给客户端,在重建时再将这个隐藏栏的信息全部发回服务器,这都是由ASP.NET自动完成的,不需手工,高效开发。
4.Page_Unload事件
当网页代码运行完将要从内存中卸载时运行此事件,通常此事件是用来清除已经运行完的代码的。否则要等垃圾回收器轮回一周发现他是个已经运行完的网页再清除。这期间是有一定的时间间隔的,对于运行的很快的系统来说这也是个很浪费性能的。
整个生命周期都是在同一个网页服务器端运行,每次点击控件触发事件处理程序,都会将触发事件与隐藏栏信息返回给系统去重新创建网页,然后再继续执行这个过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值