ASP.Net 知识点总结(三)
1.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?
答:不是。可以用任意类型。
2.<%# %> 和 <% %> 有什么区别?
答:<%# %>表示绑定的数据源
<% %>是服务器端代码块
3.重载与覆盖的区别?
答:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调 用时的实参表与形参表来选择方法体的。
4.error和exception有什么区别
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
5.Overloaded的方法是否可以改变返回值的类型?
答:Overloaded的方法是可以改变返回值的类型。
6.HashMap和Hashtable的区别。
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.
7.&和&&的区别。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).
8.大概描述一下ASP.NET服务器控件的生命周期
答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载
9.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
答:不能,可以实现接口
10.Static Nested Class和inner class 的不同
Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
11.C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?
答:attribute(特性):自定义属性的基类;用来标识类,方法等的附加性质;Attribute :是一个对象,作用在于两个方面。一个是影响编译器的形为,另一个是把描述信息写入Assembly中。
property (属性):类中的属性一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质;Property:是一个方法是GET和SET的组合,一个是读,一个是写。
12.当整数a赋值给一个object对象时,整数a将会被?
答:装箱。
13.类成员有_____种可访问形式?
答:this.;new Class().Method;
14.public static const int A=1;这段代码有错误么?是什么?
答:const不能用static修饰。
15.float f=-123.567F; int i=(int)f;i的值现在是_____?
答:-123。
16.委托声明的关键字是______?
答:delegate.
17.用sealed修饰的类有什么特点?
答:密封,不能继承。
18.在Asp.net中所有的自定义用户控件都必须继承自________?
答:Control。
19.在.Net中所有可序列化的类都被标记为_____?
答:[serializable]
20.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?
答:GC。
21.什么是虚函数?什么是抽象函数?
答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。
22.谈谈你对ASP和ASP.NET的区别?
答:ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
23.为什么要用IsPortBack
答:页面第一次加载时需要绑定一些数据,如果每次加载都绑定的话,会给服务器很大压力ISPORTBACK第一次加载时返回的是false,以后每次返回的都是true,这样可以设置 一些只需要在页面一次加载时就绑定好的数据。
24..MVC指的是什么?
答:MVC将程序功能分成三部分考虑:视图(VIEW,即可见的用户界面部分)、模型(Model,程序的数据模型和业务逻辑部分),控制器(Controller,根据用户输入通知模型和视图进行相应更改)。
25..ADO.NET的常用对象
答:Connection,Command,DataAdapter,DataSet,DataReader,configuration
26.C/S和B/S的区别,优缺点有哪些?
答:C/S是客户端/服务器端,C/S的程序通常也叫胖客户端,也就是一个程序的大部分功能,都在客户端实现,而服务器端只实现一小部分功能。通过这点不难看出,C/S的程序大部分在客户端实现,对于服务器端的压力相对小一些,服务器端可以节省一些。而且C/S的程序用窗口来做,个人认为开发效率上快一点。但C/S的程序一大弊端就是,必须要在客户端安装并部署程序才能运行,也就是用户必须得到客户端程序才可以运行。所以得考虑不同系统之间的安装与配置。
B/S是浏览器/服务器端,B/S的程序通常也叫瘦客户端,与C/S相反。B/S的程序大部分功能都要在服务器端实现,客户端只用来做辅助的控制功能。因为B/S的程序直接部署安装在服务器上。用户只需要有浏览器,并知道网址就可以使用程序。客户端不必做任何配置和安装,即可使用应用程序。而B/S也是有缺点的,首先B/S大部分功能都要在服务器端实现,对于服务器的要求就很高。服务器同时要应付用户访问与程序处理,所以服务器的配置必须能够应付。另外就是B/S的程序是浏览器中执行,所以B/S的程序操作客户端电脑的硬件,一般就得安装ActiveX等插件在客户端才可以操作。因此B/S的程序对于操作硬件,优势没有C/S的程序要好。
27.Windows 身份验证提供程序
1,提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 (IIS) 身份验证结合使用来确保 ASP.NET 应用程序安全的信息。
2、 Forms 身份验证提供程序
提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用 Forms 身份验证的一种简便方法是使用 ASP.NET 成员资格和 ASP.NET 登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。有关更多信息,请参见使用成员资格管理用户和 ASP.NET 登录控件概述。
3、 Passport 身份验证提供程序
提供有关由 Microsoft 提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核心配置文件服务
28.ASP.NET中页面传值的方法;
答:session(viewstate) 简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input type=”hidden” 简单,可能被伪造
url参数 简单,显示于地址栏,长度有限
数据库 稳定,安全,但性能相对弱
29.net中类与对象的关系;
答:万物都是对象,而类是对象的一个编程语言概念上的描述
30.ASP.NET里命名空间的定义;
答:命名空间是类的逻辑分组,它组织成一个层次结构——逻辑树。这个树的根是System。
在ASP.NET页面中,可以默认的使用某些命名空间中包含的类,称做标准的ASP.NET命名空间。对于其他命名空间,则必须显式地导入
31.ASP.NET中内置对象是什么?
在 Web 应用程序运行时,ASP.NET 将维护有关当前应用程序、每个用户会话、当前 HTTP 请求、请求的页等方面的信息。ASP.NET 包含一系列类,用于封装这些上下文信息。
Response提供对当前页的输出流的访问。您可以使用此类将文本插入页中、编写 Cookie,等等。
Request 提供对当前页请求的访问,其中包括请求标题、Cookie、客户端证书、查询字符串等。您可以使用此类读取浏览器已经发送的内容。
Context提供对整个当前上下文(包括请求对象)的访问。
Server公开可以用于在页之间传输控件的实用工具方法,获取有关最新错误的信息,对 HTML 文本进行编码和解码,等等。
Application提供对所有会话的应用程序范围的方法和事件的访问。还提供对可用于存储信息的应用程序范围的缓存的访问。
Session为当前用户会话提供信息。还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。
Trace提供在 HTTP 页输出中显示系统和自定义跟踪诊断消息的方法。