ASP.NET知识点面试篇
列举ASP.NET页面之间传递值的几种方式?
1,使用QueryString,如:…Test?id=1 Redirect()..
2,使用Session变量
3,使用Server.Transfer
4,Cookie传值
什么是code-Behind技术
就是代码隐藏,在ASP.NET中通过ASPX页面指向cs文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web应用程序的创建。比如分工,美工和编程的可以各干各的,不用再像以前asp那样代码和HTML代码混在一起,难以维护。
请解释ASP.NET中的web页面与其隐藏类之间的关系
一个ASP.NET页面一般都应对一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Test.aspx的页面声明如下:
1
<%@ Page language="c#" Codebehind="Test.aspx.cs" AutoEventWireup="false" Inherits="T1.Test" %>
Codebehind=”Test.aspx.cs”表明经编译此页面时使用哪一个代码文件
Inherits=”T1.Test”表示运行时使用哪一个隐藏类
aspx页面会编译生成一个类,这个类从隐藏类继承
通过超链接怎样传递中文参数?
用URL编码,通过QueryString传递,用urlencode编码,urldecode解码
Server.Transfer和Response.Redirect的区别是什么?
Server.Transfer仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示转向后的地址;Response.Redirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中看到跳转后的链接地址。
Server.Transfer是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的相应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪里来的,所以它的地址栏还是原来的地址。这个过程中浏览器和web服务器之间经过一次交互。
Response.Redirect就是服务端根据逻辑,发送一个状态吗,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求。这个过程中浏览器和web服务器之间经过了两次交互。
说出一些常用的类,接口
常用的类:StreamReader、WebClient、Dictionary、StringBuilder、SqlConnection、FileStream、File、Regex、List
常用的接口:IDisposable、IEnumerable、IDbConnection、IComparable、ICollection、IList、IDictionary
post、get的区别
get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中
使用post提交的页面再点击刷新按钮的时候浏览器一般会提示“是否重新提交”,而get则不会
用get的页面可以被搜索引擎抓取,而用post的则不可以
用post可以进行文件的提交,而用get则不可以
用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2K),受限于网页地址的长度。
Application、Cookie和Session两种会话有什么不同?
Application是用来存取整个网站全局的信息,而Session是用来存取与具体某个访问者关联的信息。Cookie是保存在客户端的,机密信息不能保存在Cookie中,只能放小数据;Session是保存在服务器端的,比较安全,可以放大数据。
http状态吗各是什么意思?
302:重定向
301:永久重定向
404:页面不存在
500:服务器内部错误
Session有什么重大的BUG,微软提出了什么方法加以解决?
iis中有由于有进程回收机制,系统繁忙的话Session会丢失,iis重启也会造成Session丢失。这样用户就要重新登录或者重新添加信息到Session中。可以用StateServer或SqlServer数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的end事件。但是我认为这不是bug,只能说是In-Proc方式存储Session的缺陷,缺陷和bug是不一样的,In-Proc方式存储Session会由服务器来决定什么时候释放Session,这是By Design,In-Proc方式不满足要求的话完全可以用StateServer和数据库的方式。
StsteServer还可以解决集群Session共享的问题
配置StateServer的方法:略
asp.net中<% %>、<% = %>、<% # %的区别是什么?>
<% %>是执行<% %>中的C#代码,<% = %>是将=后的表达式的值输出到Response中,<% # %>是数据绑定,一般用来ListView、GridView、Repeater等控件的绑定中。数据绑定分为,Eval:单向绑定和Bind:双向绑定。
asp.net中的错误机制
定制错误页来将显示一个友好的报错页面
页面中未捕捉一样会触发Page_Error,应用程序中的未捕获异常会触发
Application_Error。通过HttpContext.Current.Server.GetLastError();拿到未捕捉异常,记录到Log4Net日志中。
文章来源:
Author:阿星Plus
link:http://xj8c.cc/2016/04/16/asp.net-knowledge-point-interview/
上一篇:三层架构到底是个什么玩意?