.Net及C#基础知识,面试宝典 (7)

但是对于传递数组或对象的话,就不能用这个方法了 session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。

application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock 

cookie 简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用 input ttype="hidden" 简单,可能被伪造 url参数简单,显示于地址栏,长度有限

 Server.Transfer  把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流 数据库稳定,安全,但性能相对弱  

 

什么是Viewstate?它有什么作用?

ViewState用来保存页面状态,就是说提交之后我们还可以看到文本框里面的内容就是ViewState保存的功劳。 ViewState只维护当前页面的状态,不同页面之间不能共享,Session可以。 ViewState你可以理解为一个隐藏控件


ASP.Net页面生命周期 :(重要)https://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html
当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页面处理程序类后,ASP.NET 运行时将调用处理程序的 ProcessRequest 方法来处理请求,来创建页面对象。通常情况下,无需更改此方法的实现,因为它是由 Page 类提供的。接下来被创建页面对象的ProcessRequest方法使页面经历了各个阶段:初始化、加载视图状态信息和回发数据、加载页面的用户代码以及执行回发服务器端事件。之后,页面进入显示模式:收集更新的视图状态,生成 HTML 代码并随后将代码发送并输出控制台。最后,卸载页面,并认为请求处理完毕。其中页面对象ProcessRequest方法 完成的这一系列事件的处理过程就是Asp.Net页面生命周期。

我的理解:
首先在对应的浏览器中输入对应的网址对服务器发送请求(request)服务器识别浏览器的http请求,通过调用processrequest方法来处理请求,创建页面对象然后通过创建processrequest方法使页面经历了:初始化,加载试图状态信息,和回发数据,加      载用户代码及执行返回服务器端的事件。之后页面进入显示模式:收集更新的试图状态,生成html代码将代码发送输出在浏览器中展示。最后卸载页面,并认为请求处理完毕


每个页面的生命周期为用户的每一次访问,也就是说每一次客户端与服务器之间的一个往返过程.全局变量的生命周期在此之间.

1. Page_Init(); 

2. Load ViewState and Postback data; 

3. Page_Load(); 

4. Handle control events; 

5. Page_PreRender(); 

6. Page_Render(); 

7. Unload event; 

8. Dispose method called; 

 

ADO.net中常用的对象有哪些?

分别描述一下。

Connection  数据库连接对象 

Command    执行数据库命令

DataAdapter  连接数据,执行数据库命令,填充DataSet

DataSet  数据在内存中的缓存,数据结构 

DataReader    只读向前的读取数据库

 

DataReader和DataSet的异同 

1.与数据库连接:DataReader:面向连接,只读,只进,只能向前读,读完数据就断开连接;(无法对获取的数据进行操作)

DataSet:非面向连接,把数据加载到sql缓存池中,然后断开连接;

2.处理数据速度:DataReader:速度快;DataSet:速度慢;

3.更新数据库:DataReader:更新后,没有办法还原到原来的数据库;DataSet:更新后,可以还原回原来的数据库;

4.支持分页排序:DataReader:不支持分页与排序;DataSet:支持分页与排序,从内存中直接读取前多少条(假分页);

5.占用内存:DataReader:占用内存小;DataSet:占用内存大;


DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable


说出你所了解的数据库访问组件(例如ADO,至少4种) 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsswp.html