ASP.NET基础知识(三)

1.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
  答:session(viewstate) 简单,但易丢失
  application 全局
  cookie 简单,但可能不支持,可能被伪造
  input type=“hidden” 简单,可能被伪造
  url参数 简单,显示于地址栏,长度有限
  数据库 稳定,安全,但性能相对弱
2.请指出GAC的含义?
  答:全局程序集缓存。
3.向服务器发送请求有几种方式?
  答:get,post。get一般为链接方式,post一般为按钮方式。
4.DataReader与Dataset有什么区别?
  答:一个是只能向前的只读游标,一个是内存中虚拟的数据库。
5.软件开发过程一般有几个阶段?每个阶段的作用?
  答:需求收集(与使用方共同讨论),需求分析,软件设计(概要设计、详细设计),代码编写,测试,维护
6.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
  答:using 引入命名空间或者使用非托管资源
    new 新建实例或者隐藏父类方法
7.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.
  答:string inputStr=" xx xx “;
    inputStr=Regex.Replace(inputStr.Trim(),” *"," ");
8.什么叫做SQL注入,如何防止?请举例说明。
  答:利用sql关键字对网站进行攻击。过滤关键字’等
9.什么是反射?
  答:动态获取程序集信息。通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。反射通常具有以下用途。
   (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。
   (2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。
   (3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetConstructors或GetConstructor方法来调用特定的构造函数。
(4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法来调用特定的方法。
   (5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。
   (6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等,添加或移除事件处理程序。
   (7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。
   (8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签名中的位置等。
10.用Singleton如何写设计模式
  答:static属性里面new ,构造函数private
11.什么是Application Pool?
  答:应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。Web应用类似Thread Pool,提高并发性能。
12.什么是虚函数?什么是抽象函数?
  答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。

你可能感兴趣的:(ASP.NET基础知识(三))