《ASPNET简答题整理.docx》由会员分享,可在线阅读,更多相关《ASPNET简答题整理.docx(7页珍藏版)》请在三一办公上搜索。
1、ASPNET简答题整理ASP.NET问答题 1.ASP.NET中页面传值有几种方式? 1)使用QueryString, 如.?id=1; response. Redirect. 2)使用Session变量 3)使用Server.Transfer 4)Cookie 5)Application 6)HiddenField etc(.net 2.0) 7)Response.Redirect方式 2. 如果关闭客户端的cookie,Session是否仍然可以使用?如果不可以请说出为什么?如果可以请说出如何使用? 不可以,Session真正的数据是存储在服务器上的,但每个Session都对应了一个由We
2、b服务器指定的唯一识别符SeesionID,而在浏览器里是使用Cookie来存储这个SeesionID的.所以使用Session,浏览器必须支持Cookie. 3. ASP.NET默认情况下是如何在客户端和服务器端之间保持数据的? 使用ViewState,ViewState 是ASP.NET中对同一个窗体页的多次回发之间维持页及控件状态的一种机制 4. 请大致描述一下ASP.NET的页面生命周期? 页请求、开始、页初始化、加载、验证、回发事件处理、卸载 5.请说说Response.Redirect和Server.Transfer有什么区别?能说说它们的实现原理吗? 1)Redirect重定向发
3、生在客户端,可以在地址栏中看出网址发生变化,而其他两个看不出来 2)Redirect和Transfer执行完不会返回原网页,而Execute会返回原网页 3)Redirect既能重定向到同一网站的不同网页,也能定向到其他网站的其他网页,而其余两个只能定向到同一网站的不同网页 4)利用Redirect在不同页面传输数据时,状态管理采用查询字符串形式 原理:ASP.NET Server.Transfer是在两个页面之间进行传值的好方法,从A页面 Transfer到B页面时,就可以在B页面通过Context.Handler获得A页面的一个类的实例,从而在B调用A的各个成员对象。 浏览器ASP文件请求
4、-服务器执行-遇到response.redirect语句-服务器发送response.redirect后面的地址给客户机端的浏览器-浏览器请求执行新的地址 6.页面出现了乱码,通常是什么原因造成的?如何修正这个问题? 文件编码引起:aspx页面的保存编码为GB2312,与web.config文件不一样,把它修改为UTF-8 编码和解码时调用的方法不一致:编码时调用的是HttpUtility.UrlEncode,那么在解码时你就必须调用HttpUtility.UrlDecode jQuery Ajax请求传中文参数导致乱码:使用jQuery的ajax方法时,一定要记得它是采用UTF-8编码数据的
5、 7.请说说装箱和拆箱 给object类型赋值的过程称为装箱,反之为拆箱。 8.struct和class的区别是什么?它们各自适应于什么样的场景? Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的 场景:Struct有性能优势,Class有面向对象的扩展优势。 用于底层数据存储的类型设计为Struct类型,将用于定义应用程序行为的类型设计为Class。如果对类型将来的应用情况不能确定,应该使用Class 9.委托和事件的区别? 事件是一种特殊的委托,或者说是受限制的委托,是委托一种特殊应用,只能施加+=,-=操作符。二者本质上是一个东西
6、10.简述ASP的工作原理。 1) 用户调出站点内容,默认页面的扩展名是.asp。 2) 浏览器从服务器上请求ASP文件。 3) 服务器端脚本开始运行ASP。 4) ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容,页面信息发送到浏览器。 12.override与重载的区别 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写。为了适应需要。 13.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删
7、查改。 业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。 表示层为了与用户交互例如用户添加表单。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。 14.CTS、CLS、CLR分别作何解释? 答:CTS(Common Type System):通用类型系统。CLS(Common Language Specification):通用语言规范。CLR(Common Language RunTime):公共语言运行库。 中读写数据库需要用到那些类?他们的作用? 答:DataSet:数据存储器。 DataCommand:执行语句命令。 Da
8、taAdapter:数据的集合,用语填充。 16.GC是什么? 为什么要有GC? 答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc Runtime.getRuntime.gc 17.abstract class和interface有什么区别? 1)抽象类的成员可以有访问级别,接口不可以 2)抽象类可以包含字段,接口不可以 3)抽象类的成员可以有具体实现,接口不可以 4)抽象的子类可以选择实现,而接口必须实现 18.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(
9、concrete class)? 接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。 19.Session有什么重大BUG,微软提出了什么方法加以解决? 是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。 20.什么是虚函数?什么是抽象函数? 虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。 的错误处理机制是什么? .net错
10、误处理机制采用try-catch-finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。 22.ASP.NET服务器控件的生命周期 初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载 23.error和exception有什么区别? error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 24.重载与覆盖的区别? 1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法
11、的重载是同一个类中方法之间的关系,是水平关系 2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。 3、覆盖要求参数列表相同;重载要求参数列表不同。 25.DataSet对象有哪些特点? 内存中的数据库 ;数据源独立性 ;断开式连接;使用XML格式 26. 什么是Web Service? 组成Web Service的两个角色是什么? WebService即Web服务,是通过Internet协议公开的一种业务功能,它提供接口或服务,供外界使用。组成Web Service的两个角色分别是Web Service提供程序和Web Service客户端 27. DataRe
12、ader对象有哪些特点? 只能读取数据,不能对数据进行编辑、添加和删除;只能在记录间向前移动;不能在IIS内存中存储数据,数据直接在显示对象上显示; 工作在连接模式下 28. Application和Session对象的事件分别在什么时候发生?它们在使用时需要实例化么?为什么? 分别是在应用程序启动时和会话启动时发生的。不需要实例化,因为它们都是page对象的成员。 29.ASP.NET的关键技术有哪些? 事件驱动;代码隐藏技术;数据绑定技术;数据访问技术ADO.NET;面向对象特性;多语言支持 30. 试列举出常用的服务器端数据验证控件 RequiredFieldValidator(必须项)
13、;CompareValidator;RangeValidator;RegularExpressionValidator;CustomValidator;ValidationSummary 31. 在ADO.NET中调用存储过程与执行SQL命令文本的方法区别在什么地方? 调用存储过程,Command对象的CommandText属性为存储过程名, CommandType属性为CommandType.StoredProcedure;执行SQL命令文本时,Command对象的CommandText属性为具体的SQL语句, CommandType属性为CommandType.Text 32.简述创建一个DataRelation对象的过程。 为父列声明一个DataColulmn对象,并指出那个列作为父列;为子列声明一个DataColulmn对象,并指出那个列作为子列;创建DataRelation对象,并为关系,父列和子列指定名称;将DataRelation对象添加到DataSet集合中。 33.DataSet对象的组成 Tables对象、 Relations对象、ExtendedProperties对象 34.什么是回发 Web 页将数据发送回服务器上的同一页的进程