.NET 软件开发练习题 |
1.您需要创建一个 ASP.NET 应用程序,公司考虑使用 Windows 身份认证。 |
所有的用户都存在于 AllWin 这个域中。您想要使用下列认证规则来配置这个应用程序: |
a、 匿名用户不允许访问这个应用程序。 |
b、 所有雇员除了 Tess 和 King 都允许访问这个应用程序。 |
请问您应该使用以下哪一个代码段来配置这个应用程序?( A ) |
A. <authorization> |
<deny users=”allwin ess, allwinking”> |
<allow users=”*”> |
<deny users=”?”> |
</authorization> |
B. <authorization> |
<allow users=”*”> |
<deny users=”allwin ess, allwinking”> |
<deny users=”?”> |
</authorization> |
C. <authorization> |
<deny users=”allwin ess, allwinking”> |
<deny users=”?”> |
<allow users=”*”> |
</authorization> |
D. <authorization> |
<allow users=”allwin ess, allwinking”> |
<allow users=”*”> |
</authorization> |
E.<authorization> |
<allow users=”*”> |
第 1 页 共 16 页 |
IPTC |
<deny users=”allwin ess, allwinking”> |
</authorization> |
2.您要创建一个显示公司员工列表的应用程序。您使用一个 DataGrid 控件显示员工的列表。您打算修改 |
这个控件以便在这个 Grid 的 Footer 显示员工合计数。请问您应该怎么做?( C ) |
A.重写 OnPreRender 事件,当 Grid 的 Footer 行被创建时显示合计数。 |
B.重写 OnItemCreated 事件,当 Grid 的 Footer 行被创建时显示合计数。 |
C.重写 OnItemDataBound 事件,当 Grid 的 Footer 行被创建时显示合计数。 |
D. 重写 OnLayout 事件,当 Grid 的 Footer 行被创建时显示合计数。 |
3.您要创建 ASP.NET 应用程序用于运行 AllWin 公司内部的 Web 站点,这个应用程序包含了 50 个页面。 |
您想要配置这个应用程序以便当发生一个 HTTP 代码错误时它可以显示一个自定义的错误页面给用户。您 |
想要花最小的代价完成这些目标,您应该怎么做?(多选)( CD |
) |
A.在这个应用程序的 Global.asax 文件中创建一个 Application_Error 过程去处理 ASP.NET 代码错 |
误。 |
B.在这个应用程序的 Web.config 文件中创建一个 applicationError 节去处理 ASP.NET 代码错误。 |
C.在这个应用程序的 Global.asax 文件中创建一个 CustomErrors 事件去处理 HTTP 错误。 |
D.在这个应用程序的 Web.config 文件中创建一个 CustomErrors 节去处理 HTTP 错误。 |
E.在这个应用程序的每一页中添加一个 Page 指示符去处理 ASP.NET 代码错误。 |
F. 在这个应用程序的每一页中添加一个 Page 指示符去处理 ASP.NET HTTP 错误。 |
4.您的公司有一个 DB Server,名为 AllWin,其上装了 MS SQLSERVER 2000。现在需要您写一个数 |
据库连接字符串,用以连接 AllWin 上 SQL SERVER 中的一个名为 PubBase 实例的 Test 库。请问,应 |
该选择下面哪一个字符串?( B ) |
A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=S |
SPI” |
B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSP |
I” |
C. “Data Source= AllWin PubBase;Initial Category=PubBase;Integrated Security= S |
SPI” |
D. “Data Source= AllWin PubBase;Database=Test;Integrated Security= SSPI” |
第 2 页 共 16 页 |
IPTC |
5.您为 AllWin 公司创建了一个 ASP.NET 应用程序。这个应用程序调用一个 Xml Web Service。这个 |
Xml Web Service 将返回一个包含了公司雇员列表的 DataSet 对象。请问您该如何在这个程序中使用 |
这个 Xml Web Service?( B) |
A.在“引用”对话框的.Net 标签中选择 System.Web.Services.dll。 |
B.在“Web 引用”对话框中输入这个 XML Web service 的地址。 |
C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个 XML Web service 的地址。 |
D.在您的 Global.asax.cs 中写一个事件处理器导入这个 Xml Web Service 相应的 .wsdl 和 . |
disco 文件。 |
6.您要创建一个 ASP.NET 应用程序在 DataGrid 控件中显示一个经过排序的列表。产品数据被存放于一 |
个名为 PubBase 的 Microsoft SQL Server 数据库。每个产品的主键是 ProductID,Numeric 型并且 |
每个产品有一个字母描述字段,名为 ProductName。您使用一个 SqlDataAdapter 对象和一个 SqlCo |
mmand 对象通过调用一个存储过程从数据库中获取产品数据。您将 SqlCommand 对象的 CommandT |
ype 属性设置为 CommandType.StoredProcedure,并将它的 CommandText 属性设置为 procProd |
uctList。您成功的获取了一个 DataTable 对象,其中是已经按 ProductID 降序排列的产品列表。您打算 |
显示以相反的字母顺序排列的 ProductName,请问该怎么做? ( B ) |
A. 将 SqlCommand 对象的 CommandType 属性修改为 CommandType.Text,将 CommandT |
ext 属性修改为”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后将这 |
个 DataTable 对象绑定到 DataGrid 控件。 |
B. 创建一个基于这个 DataTable 对象的新的 DataView 并将这个 DataView 的 Sort 属性设置为“P |
roductName DESC”。然后将这个 DataView 对象绑定到 DataGrid 控件。 |
C. 将 DataGrid 控件的 AllowSorting 属性设置为 True,并将 DataGridColumn 的 SortExpressi |
on 属性设置为 “ProductName DESC”.以显示 ProductName。然后将这个 DataTable 对象绑定到 Da |
taGrid 控件。 |
D. 将 DataTable 对象的 DisplayExpression 属性设置为 “ORDER BY ProductName DESC”.。 |
然后将这个 DataTable 对象绑定到 DataGrid 控件。 |
7. 不定项选择: |
(1) 以下叙述正确的是: B C |
第 3 页 共 16 页 |
IPTC |
A. 接口中可以有虚方法。B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已 |
实现的方法。 |
(2) 从数据库读取记录,你可能用到的方法有:B C D |
A. ExecuteNonQuery |
B. ExecuteScalar |
C. Fill |
D. ExecuteReader |
8.对于一个实现了 IDisposable 接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序 |
定义的任务?(多选) |
( |
ABC |
) |
A.Close B.Dispose C.Finalize |
D.using E.Quit |
9.以下关于 ref 和 out 的描述哪些项是正确的?(多选) |
( |
ACD |
) |
A.使用 ref 参数,传递到 ref 参数的参数必须最先初始化。 |
B.使用 out 参数,传递到 out 参数的参数必须最先初始化。 |
C.使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。 |
D.使用 out 参数,必须将参数作为 out 参数显式传递到方法。 |
10.在对 SQL Server 数据库操作时应选用(A)。 |
a)SQL Server .NET Framework 数据提供程序; |
b)OLE DB .NET Framework 数据提供程序; |
c)ODBC .NET Framework 数据提供程序; |
d)Oracle .NET Framework 数据提供程序; |
11.下列选项中,(C)是引用类型。 |
a)enum 类型 |
b)struct 类型 c)string 类型 |
d)int 类型 |
12.关于 ASP.NET 中的代码隐藏文件的描述正确的是(C) |
a)Web 窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面 |
不同的文件中。该文件称作为“代码隐藏”文件,如果用 C#创建,该文件将具有“.ascx.cs”扩展名。 |
b)项目中所有 Web 窗体页的代码隐藏文件都被编译成.EXE 文件。 |
c)项目中所有的 Web 窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。 |
d)以上都不正确。 |
13.以下描述错误的是(A) |
a)在 C++中支持抽象类而在 C#中不支持抽象类。 |
第 4 页 共 16 页 |
IPTC |
b)C++中可在头文件中声明类的成员而在 CPP 文件中定义类的成员, C#中没有头文件并且在同一处声在 |
明和定义类的成员。 |
c)在 C#中可使用 new 修饰符显式隐藏从基类继承的成员。 |
d)在 C#中要在派生类中重新定义基类的虚函数必须在前面加 Override。 |
14.C#的数据类型有(A) |
a)值类型和调用类型; b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型; |
15.下列描述错误的是(D) |
a)类不可以多重继承而接口可以; |
b)抽象类自身可以定义成员而接口不可以; |
c)抽象类和接口都不能被实例化; |
d)一个类可以有多个基类和多个基接口; |
16.在 DOM 中,装载一个 XML 文档的方法(D) |
a)save 方法 |
b)load 方法 c)loadXML 方法 d)send 方法 |
17.下列关于构造函数的描述正确的是(C) |
a)构造函数可以声明返回类型。 |
b)构造函数不可以用 private 修饰 |
c)构造函数必须与类名相同 |
d)构造函数不能带参数 |
18.以下是一些 C#中的枚举型的定义,其中错误的用法有() |
a)public enum var1{ Mike = 100, Nike = 102, Jike } |
b)public enum var1{ Mike = 100, Nike, Jike } |
c)public enum var1{ Mike=-1 , Nike, Jike } |
d)public enum var1{ Mike , Nike , Jike } |
19.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3, |
2}}; myArray3[2][2]的值是(D)。 |
a)9 |
b)2 |
c)6 |
d)越界 |
20.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。 |
a)方法、属性、索引器和事件; b)方法、属性信息、属性; c)索引器和字段; |
d)事件和字段; |
第 5 页 共 16 页 |
IPTC |
21.ASP.NET 框架中,服务器控件是为配合 Web 表单工作而专门设计的。服务器控件有两种类型,它们 |
是(A ) |
a)HTML 控件和 Web 控件 b)HTML 控件和 XML 控件 c)XML 控件和 Web 控件 |
控件 |
22.ASP.NET 中,在 Web 窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为 |
( D) |
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%> |
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%> |
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%> |
d)以上皆非 |
23.在 ADO.NET 中,对于 Command 对象的 ExecuteNonQuery()方法和 ExecuteReader()方法,下 |
面叙述错误的是(C)。 |
a)insert、update、delete 等操作的 Sql 语句主要用 ExecuteNonQuery()方法来执行; |
b)ExecuteNonQuery()方法返回执行 Sql 语句所影响的行数。 |
c)Select 操作的 Sql 语句只能由 ExecuteReader()方法来执行; |
d)ExecuteReader()方法返回一个 DataReder 对象; |
24.下列 ASP.NET 语句(b)正确地创建了一个与 SQL Server 2000 数据库的连接。 |
a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security |
= SSPI; Initial Catalog = myDB”); |
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Securi |
ty = SSPI; Initial Catalog = myDB”); |
c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Securit |
y = SSPI; Initial Catalog = myDB); |
d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Se |
curity = SSPI; Initial Catalog = myDB”); |
25.Winform 中,关于 ToolBar 控件的属性和事件的描述不正确的是(D)。 |
a)Buttons 属性表示 ToolBar 控件的所有工具栏按钮 |
b)ButtonSize 属性表示 ToolBar 控件上的工具栏按钮的大小,如高度和宽度 |
d)HTML 控件和 IIS |
第 6 页 共 16 页 |
IPTC |
c)DropDownArrows 属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头 |
键 |
d)ButtonClick 事件在用户单击工具栏任何地方时都会触发 |
26.在 ADO.NET 中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(B ),必 |
要时还要设置参数尺寸。 |
a)大小; |
b)上限; |
c)初始值; |
d)类型; |
27.如果将窗体的 FormBoderStyle 设置为 None,则( B)。 |
a)窗体没有边框并不能调整大小; |
c)窗体有边框但不能调整大小; |
b)窗体没有边框但能调整大小; |
d)窗体是透明的; |
28.如果要将窗体设置为透明的,则( B) |
a)要将 FormBoderStyle 属性设置为 None; |
c)要将 locked 属性设置为 True; |
b)要将 Opacity 属性设置为小于 100%得值; |
d)要将 Enabled 属性设置为 True; |
29.下列关于 C#中索引器理解正确的是(B/C ) |
a)索引器的参数必须是两个或两个以上 |
c)索引器没有名字 |
30.下面描述错误的是( C/D)。 |
a)窗体也是控件; b)窗体也是类; c)控件是从窗体继承来的; d)窗体的父类是控件类; |
31.要对注册表进行操作则必须包含( D)。 |
a)System.ComponentModel 命名空间; b)System.Collections 命名空间; |
c)System.Threading 命名空间; |
d)Microsoft.Win32 命名空间; |
b)索引器的参数类型必须是整数型 |
d)以上皆非 |
32.要创建多文档应用程序,需要将窗体的(D )属性设为 true。 |
a)DrawGrid; |
b)ShowInTaskbar; |
c)Enabled; |
d)IsMdiContainer; |
33.如果设 treeView1=new TreeView(),则 treeView1.Nodes.Add("根节点")返回的是一个 (A)类型 |
的值。 |
a)TreeNode; |
b)int; |
c)string; |
d)TreeView; |
34.下面关于 XML 的描述错误的是(D)。 |
a)XML 提供一种描述结构化数据的方法; |
b)XML 是一种简单、与平台无关并被广泛采用的标准; |
c)XML 文档可承载各种信息; |
第 7 页 共 16 页 |
IPTC |
d)XML 只是为了生成结构化文档; |
35.装箱、拆箱操作发生在: ( C ) |
A.类与对象之间 |
B.对象与对象之间 |
D.引用类型与引用类型之间 |
C.引用类型与值类型之间 |
36.用户类若想支持 Foreach 语句需要实现的接口是: ( A ) |
A.IEnumerableB.IEnumerator |
C.ICollectionD.ICollectData |
37.Net Framework 通过什么与 COM 组件进行交互操作?( |
A.Side By SideB.Web Service |
C.InteropD.PInvoke |
38.Net 依靠以下哪一项技术解决 COM 存在的 Dll Hell 问题的?( A |
A.Side By SideB.Interop |
C.PInvokeD.COM+ |
39.装箱与拆箱操作是否是互逆的操作?( B ) |
A.是 B.否 |
40.以下哪个是可以变长的数组?( D ) |
A.Array |
C.string[N] |
B.string[] |
D.ArrayList |
) |
C) |
41.用户自定义异常类需要从以下哪个类继承:( A ) |
A.Exception |
C.ApplicationException |
B.CustomException |
D.BaseException |
42.对于一个实现了 IDisposable 接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程 |
序定义的任务?(多选) ( |
A.Close |
D.using |
ABC |
) |
B.DisposeC.Finalize |
E.Quit |
43.Net 依赖以下哪项技术实现跨语言互用性?( C ) |
A.CLR |
B.CTS |
C.CLS |
D.CTT |
44.请问: String 类与 StringBuilder 类有什么区别?为什么在.Net 类库中要同时存在这 2 个类?(简答) |
第 8 页 共 16 页 |
IPTC |
如果要操作一个不断增长的字符串,尽量不用 String 类,改用 StringBuilder 类。两个类的工作原理不同: |
String 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没 |
错,但是在.NET 框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的 |
String 对象,然后创建一个 String 对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时 |
间。而使用 System.Text 命名空间下面的 StringBuilder 类就不是这样了,它提供的 Append 方法,能 |
够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异, |
但如果你要对某个字符串进行大量的添加操作,那么 StringBuilder 类所耗费的时间和 String 类简直不是 |
一个数量级的。 |
45.以下哪个类是 int 的基类?( |
A.Int32 |
B.Object |
) |
C.ValueType |
D.Int16 |
46.以下哪些可以作为接口成员?(多选) ( ABDE ) |
A.方法 B.属性 C.字段 D.事件 E.索引器 |
F.构造函数 G.析构函数 |
47.以下关于 ref 和 out 的描述哪些项是正确的?(多选) ( |
A.使用 ref 参数,传递到 ref 参数的参数必须最先初始化。 |
B.使用 out 参数,传递到 out 参数的参数必须最先初始化。 |
C.使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。 |
D.使用 out 参数,必须将参数作为 out 参数显式传递到方法。 |
48.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描 |
述?( B |
A.public |
) |
B.protected |
C.internal |
D.protected internal |
ACD |
) |
49.class Class1 |
{ |
private static int count = 0; |
static Class1() |
{ |
count++; |
} |
public Class1() |
第 9 页 共 16 页 |
IPTC |
{ |
count++; |
} |
} |
Class1 o1 = new Class1(); |
Class1 o2 = new Class1(); |
50.请问,o1.Count 的值是多少?( C ) |
A.1 |
B.2 |
C.3 |
D.4 |
51.abstract class BaseClass |
{ |
public virtual void MethodA() |
{ |
} |
public virtual void MethodB() |
{ |
} |
} |
class Class1: BaseClass |
{ |
public void MethodA(string arg) |
{ |
} |
public override void MethodB() |
{ |
} |
} |
class Class2: Class1 |
{ |
new public void MethodB() |
第 10 页 共 16 页 |
IPTC |
{ |
} |
} |
class MainClass |
{ |
public static void Main(string[] args) |
{ |
Class2 o = new Class2(); |
Console.WriteLine(o.MethodA()); |
} |
} |
52.请问,o.MethodA 调用的是: ( A ) |
A.BaseClass.MethodAB.Class2.MethodA |
C.Class1.MethodAD.都不是 |
53. 写出一条 Sql 语句:取出表 A 中第 31 到第 40 记录(SQLServer, 以自动增长的 ID 作为主键, |
注意:ID 可能不是连续的。) |
select top 10 * from A where id not in (select top 30 id from A) |
解 2: select top 10 * from A where id > (select max(id) from (select top 30 id from A ) |
as A) |
54 .列举 ASP.NET 页面之间传递值的几种方式。 |
1. |
使用 QueryString, 如....?id=1; response. Redirect().... |
2.使用 Session 变量 |
3.使用 Server.Transfer |
55。请说明在.net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。 |
session(viewstate) 简单,但易丢失 |
application 全局 |
cookie 简单,但可能不支持,可能被伪造 |
input ttype="hidden" 简单,可能被伪造 |
第 11 页 共 16 页 |
IPTC |
url 参数简单,显示于地址栏,长度有限 |
数据库稳定,安全,但性能相对弱 |
56.override 与重载的区别 |
Override 用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数 |
57.net 的错误处理机制是什么 |
.net 错误处理机制采用 try->catch->finally 结构,发生错误时,层层上抛,直到找到匹配的 Catch 为 |
止。 |
58、DataReader 和 DataSet 的异同 |
DataReader 和 DataSet 最大的区别在于,DataReader 使用时始终占用 SqlConnection,在线操作数据 |
库..任何对 SqlConnection 的操作都会引发 DataReader 的异常..因为 DataReader 每次只在内存中加 |
载一条数据,所以占用的内存是很小的..因为 DataReader 的特殊性和高性能.所以 DataReader 是只进的.. |
你读了第一条后就不能再去读取第一条了.. |
DataSet 则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为 DataSet |
将数据全部加载在内存中.所以比较消耗内存...但是确比 DataReader 要灵活..可以动态的添加行,列,数据. |
对数据库进行回传更新操作... |
59. 某一密码仅使用 K、L、M、N、O 共 5 个字母,密码中的单词从左向右排列,密码单词必须遵循如 |
下规则: |
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同 |
(2) K 不可能是单词的第一个字母 |
(3) 如果 L 出现,则出现次数不止一次 |
(4) M 不能使最后一个也不能是倒数第二个字母 |
(5) K 出现,则 N 就一定出现 |
(6) O 如果是最后一个字母,则 L 一定出现 |
问题一:下列哪一个字母可以放在 LO 中的 O 后面,形成一个 3 个字母的密码单词? |
A) K B)L C) M D) N |
答案:B |
问题二:如果能得到的字母是 K、L、M,那么能够形成的两个字母长的密码单词的总数是多少? |
A)1 个 B)3 个 C)6 个 D)9 个 |
答案:A |
第 12 页 共 16 页 |
IPTC |
问题三:下列哪一个是单词密码? |
A) KLLN B) LOML C) MLLO D)NMKO |
答案:C |
60.详述.NET 里 class 和 struct 的异同! |
class:放在 ? struct 放在? |
struct 值传递 |
类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重 |
要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内 |
联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 |
61.概述.NET 里对 remoting 和 webservice 两项技术的理解和实际中的应用。 |
远程逻辑调用,remoing 接口只能用在.net 中 |
62.什么是 code-behind 技术 |
63.概述三层结构体系 |
aspx and cs |
web/business/dataaccess |
64.asp.net 如何实现 MVC 模式,举例说明! web/business/dataaccess |
65.什么是 ASP.net 中的用户控件 |
答:用户控件就是.ascx 扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页 |
面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对 |
路径会变得不准确,需要自已写方法调整. |
66.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?C |
TS、CLS 和 CLR 分别作何解释? |
答:装箱就是把值类型转成引用类型,从 MS IL 角度看好像是 boxing,没记错的话是把值从堆栈转到堆中. |
拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR 是通用语言运行时,其它的 |
不清楚. |
67.列举一下你所了解的 XML 技术及其应用 |
答:XML 可是好东西,保存配置,站与站之间的交流,WEB SERVICE 都要用它. |
68.值类型和引用类型的区别?写出 C#的样例代码。 |
答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多 |
写了吧. |
69.ADO.net 中常用的对象有哪些?分别描述一下。 |
第 13 页 共 16 页 |
IPTC |
答:connection command sqladapter dataset datatable dataview 等等.写不完了. |
70.net 中读写数据库需要用到哪些类?他们的作用 |
答:这个类自已可以写的啊,你是指基类吗?那 configuration,sqlconnection,sqlcommand 等都要用到. |
71.UDP 连接和 TCP 连接的异同。 |
答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结. |
72.ASP.net 的身份验证方式有哪些?分别是什么原理? |
答:form 认证,windows 集成认证等,原理不清楚. |
73.什么是 code-Behind 技术。 |
答:代码分离,这是个明智的东西,像 ASP 这样混成一堆很不爽.或者可以理解成 HTML 代码写在前台,C#代 |
码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的. |
74..net 中读写 XML 的类都归属于哪些命名空间? |
答:System.Xml |
75.常用的调用 webservice 方法有哪些? |
答: |
可以从浏览器、ASP 页或其他 WEB 服务调用可以使用 HTTP-GET |
HTTP-POST 访问 WEB 服务也可以 |
HTTP-POST SOAP 使用 |
从 ASP 页或其他 WEB 服务向其他 WEB 服务发出 SOAP 请求 HTTP-GET |
WEB 服务代理 |
76. 私有程序集与共享程序集有什么区别? |
一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下 |
面的一个子目录中。共享程序集通常存储在全局程序集缓存(Global Assembly Cache)之中,这是一 |
个由.NET 运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NET F |
ramework 类。 |
77. 请解释进程与线程的区别?进程与程序的区别? |
一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在*作系统中的标识;而一 |
个进程通常由多个线程组成,而线程是*作系统为该应用程序分配处理时间的最小单元。 |
78. CLR 与 IL 分别是什么含义? |
CLR:公共语言运行时,类似于 Java 中的 JVM,Java 虚拟机;在.Net 环境下,各种编程语言使用一 |
种共同的基础资源环境,这就是 CLR,CLR 将直接与*作系统进行通信,而编程语言如 C#.NET 将尽量避 |
第 14 页 共 16 页 |
IPTC |
免直接与*作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR 就是具体的编程语言如:C |
#.NET 与*作系统之间的翻译,同时它为具体的编程语言提供了许多资源: |
IL,中间语言,也称 MSIL,微软中间语言,或 CIL,通用中间语言;所有.NET 源代码(不管用哪种 |
语言编写)在进行编译时都被编译成 IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器处理成 |
为机器码,被解释及执行。 |
79 .请解释 ASP。NET 中以什么方式进行数据验证 |
Aps.net 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控 |
件,另还有一个集中验证信息处理控件 |
80. WEB 控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么? |
为什么要使用自动传回。 |
在 web 控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用 Page_Load 事件, |
然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形 |
式将数据直接传回到务端 |
只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不 |
能调用服务端事件 |
81. 请解释 web.config 文件中的重要节点 |
appSettings 包含自定义应用程序设置。 |
system.web 系统配置 |
compilation 动态调试编译设置 |
customErrors 自定义错误信息设置 |
authentication 身份验证,此节设置应用程序的身份验证策略。 |
authorization 授权, 此节设置应用程序的授权策略. |
82. 请解释 ASP。NET 中的 web 页面与其隐藏类之间的关系? |
一个 ASP.NET 页面一般都对应一个隐藏类,一般都在 ASP.NET 页面的声明中指定了隐藏类例如一个 |
页面 Tst1.aspx 的页面声明如下 |
<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inh |
erits="T1.Tst1" %> |
Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件 |
Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类 |
第 15 页 共 16 页 |
IPTC |
83. 什么是 viewstate,能否禁用?是否所用控件都可以禁用? |
Viewstate 是保存状态的一种机制,EnableViewState 属性设置为 false 即可禁用 |
84. 当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决 |
很有可能是在 Page_Load 中数据处理时没有进行 Page 的 IsPostBack 属性判断 |
85. 请解释什么是上下文对象,在什么情况下要使用上下文对象 |
上下文对象是指 HttpContext 类的 Current 属性,当我们在一个普通类中要访问内置对象(Respon |
se,Request,Session,Server,Appliction 等)时就要以使用此对象 |
86. 请解释转发与跳转的区别? |
转发就是服务端的跳转 A 页面提交数据到 B 页面,B 页面进行处理然后从服务端跳转到其它页面 |
跳转就是指客户端的跳转 |
操作题 |
87.请使用 TCP/IP 编写一个聊天工具,能够实现多个用户同时在线,即时聊天。 |
88.在 Web 上到处可以看到留言本的身影,它是用户与用户之间、用户与 Web 管理者之间信息交流的 |
一个渠道,请您使用 ASP.NET 技术和 XML 技术构建一个基于 XML 的留言本,要求达到留言和显示留 |
言内容。 |
89.利用验证控件和 Web 服务器控件编写一个用户注册页面。 |
90.利用 ADO.NET 建立一个教师和学生管理系统,可以增、删、改教师和学生信息。