》.在Asp.net中所有的自定义用户控件都必须继承自Control。
》.在.Net中所有可序列化的类都被标记为[serializable]。
》.在.Net托管代码中我们不用担心内存漏洞,这是因为有了GC。
》.当类T只声明了私有实例构造函数时,则在T的程序文本外部不可以从T派生出新的类,不可以直接创建T的任何实例。
1 .
<1.使用QueryString, 如....?id=1; response. Redirect().... 、<2.使用Session变量 、<3.使用Server.Transfer
2.
答:session(viewstate) 简单,但易丢失、application 全局、cookie 简单,但可能不支持,可能被伪造、input ttype="hidden" 简单,可能被伪造、url参数 简单,显示于地址栏,长度有限、数据库 稳定,安全,但性能相对弱
3.
答:this.Server.Transfer
我们可以能过用get、post、application、viewstate来传值.
4.
答:一般为3层;数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改、业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等、表示层为了与用户交互例如用户添加表单;
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性;缺点: 增加成本。
5.
答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。
6.CTS
答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。
7.
答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。
8.
答:unsafe:非托管代码。不经过CLR运行。
9.
答:RTTI:类型识别系统。
10.net
答:DataSet:数据存储器、DataCommand:执行语句命令、DataAdapter:数据的集合,用语填充。
11.ASP.net
答:窗体(IIS...From)份验证(利用表单来判断身份)、Windows身份验证(通过系统集成判断身份)、护照(Passport密钥)身份验证和无验证(None),共4种.
12
答:Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport|none",其中又以Forms验证用的最多,也最灵活。
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了.
问题来了,在实际是用中我们往往需要的是基于角色,或者说基于用户组的验证和授权。对一个网站来说,一般的验证授权的模式应该是这样的:根据实际需求把用户分成不同的身份,就是角色,或者说是用户组,验证过程不但要验证这个用户本身的身份,还要验证它是属于哪个角色的。
而访问授权是根据角色来设置的,某些角色可以访问哪些资源,不可以访问哪些资源等等。要是基于用户来授权访问将会是个很不实际的做法,用户有很多,还可能随时的增减,不可能在配置文件中随时的为不断增加的新用户去增加访问授权的。
13.
答:代码分离,代码后植。ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的.
14.
答:程序集。(中间语言,源数据,资源,装配清单)
15.
答:1.使用WSDL.exe命令行工具。
2.使用VS.NET中的Add Web Reference菜单选项
16..net Remoting
答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。
17.
答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。都是属于远程逻辑调用,remoing接口只能用在.net中,remoting适合在intranet(内联网); webservice适合internet(互联网),webservice 可以跨平台跨语言。
19.Session
答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
20.ASP.NET
答:asp解释形,aspx编译型,性能提高,有利于保护源码。
21.
答:全局程序集缓存。
22.
答:get,post。get一般为链接方式,post一般为按钮方式。
23
答:DataReader一次只能存放一行数据,是只能向前的只读游标;而Dataset一次却可以存放/读取一张表格,一个是内存中的表。
24
答:DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库,任何对SqlConnection的操作都会引发DataReader的异常;因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的,因为DataReader的特殊性和高性能.所以DataReader是只进的,你读了第一条后就不能再去读取第一条了;
DataSet则是将数据一次性加载在内存中.抛弃数据库连接,读取完毕即放弃数据库连接,因为DataSet将数据全部加载在内存中,所以比较消耗内存,但是确比DataReader要灵活,可以动态的添加行,列,数据.对数据库进行回传更新操作.
25.
答:利用sql关键字对网站进行攻击。过滤关键字'等
26.
答:Web应用,类似Thread Pool,提高并发性能。
27.
答:XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。
28.
答:xml用于配置,用于保存静态数据类型,站与站之间的交流,WEB SERVICE都要用它.接触XML最多的是web Services..和config
xml可以用来做网页(xslt)xml可以当作数据库xml可以用来保存对象的系列化(web服务好象是基于这个的)...
29.XML
答:<1. XML是区分大小写字母的,HTML不区分。
<2. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束 标记。在XML中,绝对不能省略掉结束标记。
<3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。
<4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。
<5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。
30.
答:SOAP(Simple Object Access Protocol)简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范Web Service使用的协议;使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。
SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。
这种相互通信采用的是XML格式的消息,具体请看:http://playist.blogchina.com/2521621.html
31.
答:Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
32.
答:UDDI统一描述、发现和集成协议(UDDI, Universal Description, Discovery and Integration)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。UDDI 提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现.WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;
33.
答: 可以从浏览器、ASP页或其他WEB服务调用可以使用HTTP-GET HTTP-POST访问WEB服务也可以从ASP页或其他WEB服务向其他WEB服务发出SOAP请求HTTP-GET HTTP-POST SOAP 使用WEB服务代理
34.ADO.net
答:ADO.net中有五个主要对象:
Connection 数据库连接对像、Command 数据库命令、DataAdapter数据适配器、DataReader 数据读取器、 DataSet 数据集;
还有sqladapter、 datatable数据表 、dataview数据视图等等。
35.datagrid.datasouse
答:dataset,datatable,dataview , IList..
36.
答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到.
37.
答:垃圾回收就是将占用在内存中用不到的东西回收从而释放内存。
NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。
38.
39..net
答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
40.
答:要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="
41.
答:一个是退出整个应用程序,一个是关闭其中一个form。
42.
43.
44. 62-63=1
45
答:一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。
共享程序集通常存储在全局程序集缓存(GlobalAssemblyCache)之中,这是一个由.NET运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NETFramework类。
46.ADO.NET
答:1:ado.net不依赖于ole db提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持动态游标和服务器端游 4:,可以断开connection而保留当前数据集可用 5:强类型转换 6:xml支持
47.
答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载
48.<%# %>
答:<%# %>表示绑定的数据源、<% %>是服务器端代码块
49.
答:<1 ASP.NET 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码.
<2 同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有在分离的代码文件,无 法 在页面嵌入服务器端代码获得帮助提示,
<3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢
<4 在绑定数据,做表的分页.UPDATE,DELETE,等操作都可以可视化操作,方便了初学者
<5 在ASP.NET中增加了40多个新的控件,减少了工作量.
50.
答:WSE (Web Service Extension) 包来提供最新的WEB服务安全保证,目前最新版本2.0。
52
答:asp.net 数据验证通过用RegularExpessionValidator 正则表达式验证、CompareValidator 比较验证、RequiredFieldValidator 非空验证 必填验证、RangleValidator 取值范围验证及客户自定义验证五大控件来实现,另还有一个集中验证信息处理控件 。
53
答:通过使用正则表达式,我们能很好的控制数据的格式,能使数据验证变得很灵活。
57
答:viewstate按我感觉来说就是把数据缓存在客户端的一个容器,作用范围是页面。Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用。在同一页面里可以当session用。
可以禁用,但某些数据控件例如datagrid在禁用之后离开页面,返回时没有重新绑定的话数据会消。
58
答:知道最先执行OnInit(); 然后到Page_Load,最后到具体的执行事件。
59
答:多层应用程序中层与层之间进行数据传递的方式有:DataTable,业务实体,dataset,xml等。
60
答:事件句柄丢失,手工加或者双击使自动产生。
也很有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断。
61.
答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的,属值传递.
类与结构有很多相似之处:
结构可以实现接口,并且可以具有与类相同的成员类型。
然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。
51
答:Web控件也就是服务器控件,在后台可以直接操作服务器控件,而且可用事件触发,
54
答:基本控件——(有时称为内置控件)这类控件对应于HTML控件其包括Button, ListBox和 TextBox控件。
数据列表控件——用于绑定和显示数据的控件比如DataGid 和DataList控件
多功能控件——这些控件没有直接的HTML对应控件。多功能控件,比如Calendar控件,由多个组件组成,所生成的HTML通常驻包 含许多标记HTML标记(以及客户瑞脚本),以便在浏览器中显示控件。
验证控件——例如RequiredFieldValidator控件可以用于保证在窗体中输入正确的数据。
62.
答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.
<1、自定义控件默认继承自System.Windows.Fomrs.Control.用户控件默认继承自System.Windows.Fomrs.UserControl,
<2、用户控件只能在当前项目中使用,而自定义控件可以在多个项目中重复使用,
<3、自定义控件最终编译成动态连接库形式,使用自定义控件时,可以在项目中直接添加对该动态库的引用,然后通过代码创建该自定义控件
<4、如果自定义控件从已有的控件继承而来,则可以在已有的控件的OnPaint事件中重绘该控件的外观;
用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多。
63.UDP
答:UDP只管传,不管数据到不到,无须建立连接.TCP保证传输的数据准确,须要连结.
64..net
65
答: 通过实现IPostBack这个接口来执行事件。自动回传就是AutoPostBack,使用自动回传可以监视客户端变化情况并将这种改变返回到服务器端
在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件 。
自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到服务端只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件。
66.WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
答:
56
答:可以调用,服务器端控件在html中表现形式还是html标记,所以可以执行客户端事件,有多种方式:
例如:<asp:TextBoxid="TextBox1"οnclick="clientfunction();"runat="server"></asp:TextBox>
<INPUTid="Button2"value="Button"name="Button2" runat="server"οnclick="clientfunction();">
control.Attributes["onclick"]="...;";、<script for="controlName" event="onclick"></script>
67
答:appSettings包含自定义应用程序设置、system.web系统配置、compilation动态调试编译设置、customErrors自定义错误信息设置、authentication身份验证,此节设置应用程序的身份验证策略、authorization授权,此节设置应用程序的授权策略。
68
答:一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下
<%@Pagelanguage="c#"Codebehind="Tst1.aspx.cs"AutoEventWireup="false"Inherits="T1.Tst1"%> Codebehind="Tst1.aspx.cs"表明经编译此页面时使用哪一个代码文件Inherits="T1.Tst1"表用运行时使用哪一个隐藏类。
69
答:上下文对象是指HttpContext类的Current属性,当我们在一个普通类中要访问内置对象(Response,Request,Session,Server,Appliction等)时就要以使用此对象
HttpContext, 在类中调用的时候需要用到HttpContext。
70
Transfer 是转发 从服务器端跳转,转发就是服务端的跳转A页面提交数据到B页面,B页面进行处理然后从服务端跳转到其它页面 ; Redirect 就是跳转 跳转就是指客户端的跳转。
71.
答:VS 2005和VS 2003都有发布机制。2003可以发布然后再复制部署。
VS2005基本上可以直接部署到对应位置。
上传或者打包成EXE做成安装
72.
答:Active Directory存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些信息。
Active Directory使用了一种结构化的数据存储方式,并以此作为基础对目录信息进行合乎逻辑的分层组织。
73.
这个简单:Response.Write(@"<script language='javascript'>window.open('url');</script>");
74.
//关闭当前窗口,并提示用户时候关闭,yes关闭,no退出
Response.Write(@"<script language='javascript'>window.close();</script>");
//延迟关闭窗口(下面代码表示2秒后关闭,无需确认)
Response.Write(@"<script language='javascript'>setTimeout('self.close()',2000);</script>");
75.
这个和上面的没有多少区别.我用到的情况是,在用户操作完毕给出提示,"n秒后,页面转向"之类的只需去掉2重的Self.close()即可.
Response.Write(@"<script language='javascript'>setTimeout('',2000);</script>");
76.
Response.Write(@"<script language='javascript'>alert('添加成功,2秒钟后页面将自动跳');</script>");
77.
这个用到的情况还是不少.比如在B页面对数据更新和修改,另一页面A要保持最新数据给客户,这是就要在对B操作完毕的情况下对A进行刷新:
Response.Write(@"<script language='javascript'>window.opener.location.href='./default.aspx'</script>") ;
78.
有时候在学要给出提示的情况下进行页面跳转,不能使用Response.Redirect("url");
比如,当客户操作完毕,单击按钮提交,弹出提示框(使用上面3和4),如果使用了
Response.Redirect("url");
那么页面将不给出提示,页就是3和4没有起作用就直接转向了.
如果你是下面的操作过程:
1).Response.Write(@"<script language='javascript'>alert('添加成功,2秒钟后页面将自动跳');</script>");
2).Response.Write(@"<script language='javascript'>setTimeout('',2000);</script>");
3).页面转向:
Response.Write("<meta http-equiv='refresh' content='0;URL=./default.aspx'>");
//这个我不知道用javascript怎么实现,熟悉的轻补充一下
79.
这个问题比较烦,打开模态窗口(ShowModelDialog)我还没有实现,请各位补充.
具体情况是这样的,比如说A打开一个新窗口B,当用户对B操作完毕后,我们获得必要的数据,自动将其赋给A中的TextBox等控件,这个过程是在客户端完成的.就像发送邮件时,需要从地址本中选取,然后将选中的发送地址传回来.
1).在A中加入如下代码,打开一个新窗口B.
Response.Write(window.">@"window.open('B.aspx','','toolbar=no,menubar=no,status=yes,location=no, resizable=no,scrollbars=no,width=500,height=350');</script>");
2).对B操作完毕,获得必要数据tmpStr,然后将其赋值给A中的TextBox1 。
Response.Write(@"<script language='javascript'>opener.document.all.TextBox1.value
='" +tmpStr+"';</script>");
注意:这个过程是在客户单用javascript完成的,因此我们不能按照服务端的编程习惯以及不能使用web服务控件的服务端属性进行操作.TextBox1是一个web服务控件, 其id为TextBox1,A页面被服务器解析为html,通过浏览器浏览,TextBox1就变成了纯html控件,我们这里用javascript操作的也就是html控件,因此赋值使用的是TextBox1的value属性而不是Text属性.另外,web服务器控件的id被解析成html后, id有时会变,我们只要注意使用服务器解析后的id就成了,在浏览器中右键->查看源文件即可得到
80
(1) 以下叙述正确的是:
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。
C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:
A. ExecuteNonQuery B. ExecuteScalar
C. Fill D. ExecuteReader
参考答案:
(1) B、C (考对接口的理解) (2) B、C、D (考查对ADO.net的熟练程度)
评分标准: 一题5分,不选或者错选均不得分。漏选得2分。满分10分。
asp.net中窗口相关操作总结(javascript)
这些代码全部写在和页面分离的代码页中(codebehind),如果要嵌入到*.aspx页面,可能会出现问题.