70. 什么叫做SQL注入,如何防止?请举例说明
利用sql语言漏洞获得合法身份登陆系统。如身份验证的程序设计成:
SqlCommand com=new SqlCommand(“Select * from users where username='”+t_name.text+”‘ and pwd='”+t_pwd.text+”‘”);
object obj=com.ExcuteScale();
if(obj!=null)
{
//通过验证
}
这段代码容易被sql注入。如用户在t_name中随便输入,在t_pwd中输入1’ and 1=’1 就可以进入系统了。
71. .描述一下C#中索引器的实现过程,是否只能根据数字进行索引?
可以用任意类型。格式如下:
修饰符 类型 this [类型 变量]
{
get{};
Set{};
}
72. .构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading
73. 是否可以继承String类?
String类是final类故不可以继承
74. DataReader与Dataset有什么区别?
一个是只能向前的只读游标,一个是内存中的表。
75. 什么是虚函数?什么是抽像函数?
虚函数:可由子类继承并重写的函数。抽像函数:规定其非虚子类必须实现的函数,必须被重写
76. 在.Net中所有可序列化的类都被标记为?
[serializable]
Public class 类名{}
77. <%# %> 和 <% %> 有什么区别?
<%# %>表示绑定的数据源,<% %>是服务器端代码块
78. 能用foreach遍历访问的对象需要实现什么接口或声明什么方法的类型
IEnumerable接口或 GetEnumerator方法
79. 叙述Global类中事件发生的顺序
第一个用户第一次访问第一个页面时,会执行以下的事件
Application_Start->Application_BeginRequest->Session_Start->Application_EndRequest
80. out和ref的区别
都是引用传递参数,区别
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化
2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
81. 三层是指什么?为什么要有三层?
三层指的是:表示层、业务逻辑层和数据访问层。
表示层:用户界面,和用户进行交互
业务逻辑层:业务逻辑主要是自定义一些业务规则,完成一些功能。
数据访问层:和数据库打交道,进行数据的查询和操作
三层架构主要体现出对程序分而治之的思想,数据访问层只负责提供原始数据,并不需要业务逻辑是什么;业务逻辑层调用数据访问层提供的方法,实现一些业务逻辑,本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提供的方法,把数据呈现给用户,同样,它也不需要了解业务逻辑层和数据访问层是怎么实现的。这样的好处就是降低耦合,易于程序的维护和扩展,每一层都可以由不同的团队来开发,便于分工
评论列表
文章目录