ASP.NET面试问题一天5问(一)

实现自己既定的目标,必须能耐得住寂寞单干。

1.ASP.NET是什么

2.ASP.net和asp 的区别

3.说明asp.net中Application特性

4.asp.net的页面运行机制

5.简述asp.net 一个页面的生命周期

1.ASP.NET是什么?
不是一种语言,而是创建动态web页的服务端技术。
它是.net framwork一套生成web应用程序和web服务的技术
例如:运用公共语言运行时在服务器后端为用户提供建立强大的企业级web应用程序的编程框架

2.ASP.net和asp 的区别?
1、开发语言不同。
ASP使用non-type脚本语言来开发应用程序或web网页,在web端添加代码和在客户端添加代码一致,导致代码杂乱无章。
ASP.NET使用strongly-type编程语言开发应用程序或web网页,也可以使用.NET Framework框架开发,代码一致性较ASP好了许多。
2、运行方式不同。
ASP是解释运行的编程框架,使用js等脚本语言,运行速度慢。
ASP.NET是编译性的编程框架,运行效率高且使用的是服务器端预先编译好的代码库。
3、开发方式不同


3.说明asp.net中Application特性
在ASP.NET开发环境中,程序员通常把类似的配置数据放在Web.config中。
如果要使用Application的话,要注意的是所有的写操作都要在Global.asax文件中的Application_OnStart事件中完成。
信息量大小为任意大小
应用于整个应用程序/所有用户
保存在服务器端
作用域和保存时间是在整个应用程序的生命期
尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是由于它串行化了对Application对象的请求,
当网站访问量大的时候会产生严重的性能瓶颈,因此最好不要用此对象保存大的数据集合。

4.asp.net的页面运行机制

面对一个http请求有可能经过的4条路线。
如图:
第一条路线(1、2、3、4、5、6)第一次访问页面,经过HttpModuls和HttpHandler的处理,httpHandler的处理中服务器将转到你真正访问的页面,
ASP Engine找到页面后面的类,并实例化一个临时的对象,触发一系列的事件,其中一部分事件需要经过对象的方法处理,之后
服务器将处理好的页面交给response对象,response对象将页面发送客户端。
第二条路线(7、8、9)重复提交一些信息,并继续向服务器发送请求时,由于会话已建立,临时对象在服务中已有,不再经过初始化页面工作,
按照httpModuls,httpHandler,之后直接与临时对象交互,最后返回。
第三条路线(10、11、12、13)第3条和第2条不同的是,如果请求涉及到需要调用ASP Cache(缓存),而临时对象将直接在asp缓存提取信息并返回。
第四条路线(14、15)当你刷新页面时候,服务器收到发现该请求已经先前处理过了,并将结果存到一个默认的httpModule管理输出缓存中了,我们
可以直接从这个缓存中提取信息并返回,无需重复处理一遍了。

5.简述asp.net 一个页面的生命周期
(1)请求页面:页面请求发生在生命周期之前
(2)开始:开始阶段,将设置页面属性,如response和request.在此阶段,页还将确定请求是回发请求还新请求,并设置IsPostBack属性
(3)初始化页面:页面初始化期间,可以使用页中的控件,并将设置每一个控件的UniqueID属性。如果当前页面请求是回发请求,则回发数据尚未加载,
并且控件属性值尚未还原为视图状态中值。
(4)加载页面:加载期间,如果是回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。
(5)验证:在验证期间,将调用所有验证程序控件的Validate方法,此方法将设置各个验证程序控件和页的ISVaild属性
(6)回发事件处理:如果请求是回发请求,则调用所有事件处理程序
(7)呈现页面:页面呈现期间,视图状态将保存到页面,然后页面将掉调用每一个控件,将呈现的输出提供给response属性的OutStream
(8)卸载页面:完全呈现页,将页发送至客户端并准备丢弃是,将调用卸载。此时,将卸载页(如response和request)并执行清理

 

 

原文地址:https://www.cnblogs.com/Vinkong/p/12462008.html