日期:2014-05-20  浏览次数:20911 次

.NET相关的面试题

?

问:请谈一谈ASP.NET1.1和ASP.NET2.0中页面的不同点。
下面请看在ASP.NET1.1中采用页面代码分离模式时ASP.NET页面的声明代码(来自于彬月论坛,我早年曾经以它来学习三层架构):

??? <%@ Page language="c#" Codebehind="ListLWord.aspx.cs" AutoEventWireup="false" Inherits="TraceLWord1.ListLWord" %>?

它对应的后台代码声明如下:

??? <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>?

它对应的后台代码如下:ASP.NET使用第三方库实现js图表

??? public partial class Test : System.Web.UI.Page?

问:请谈一谈二进制序列化和Xml序列化的特点。
二进制序列化和反序列化使用BinaryFormatter类,Xml序列化使用XmlSerializer类。二进制序列化的特点是:无论是否是只读属性,所有成员都将被序列化;序列化的性能高。Xml序列化的特点是:互操作性强;可读性强。
其实关于序列化的类还有SoapFormatter等其它序列化方式,适用于不同的场合。在周公博客上也有关于BinaryFormatter、XmlSerializer和SoapFormatter用法的例子,有兴趣的可以找一找。

问:请讲一讲ASP.NET命名管道的细节。
ASP.NET命名管道也叫HTTP Pipeline,它是指当客户端的请求经Web服务器到ASP.NET引擎之后的一系列处理过程的细节。关于HTTP流程处理细节在周公拙作 《ASP.NET夜话》第十二章中描述过(因为和出版社签订了协议所以没有在博客上发表),特别是那些只知道拖拽控件的程序员朋友强烈建议去看一看,看过那个图之后你就会知道原来你随便在网页上拖拽一个控件,这么简单的过程背后却有很多复杂 的事情要处理,在其中涉及到了HttpApplication、HttpContext、HttpResponse、HttpRequest、 HttpCookie、HttpSession还有HttpSessionState等,除此之外还应该了解一下ASP.NET页面的生命周期,这样你就 知道在什么时候可以做什么不可以做什么.