asp.net备考笔记

 

NET平台的核心技术为:通用语言运行时( CLR:Common Language Runtiome)、基类库(BCL:Base Class Library)、.NET语言及Visual Studio.NET


什么是XMLWeb service?
是可编程的文本组件,它可以在Internet或者企业内部网的web应用程序之间共享。

解决方案和项目有什么不同?
解决方案是组织项目的一个开发工具而项目是实际的web应用程序

解决方案管理器和服务器资源管理器的区别?
服务器资源管理器列出服务器的资源和解决方案资源管理器列出打开的解决方案的项目和项目中的文件

生成项目是会建什么程序?
为项目创建程序集dll文件并存储在这个项目的bin文件夹下。

公共语言运行库在运行一个asp.net页时充当什么角色?
运行库将MSIL编译成本机代码,然后在服务器上运行本机代码。

实时编译充当什么角色?
实时编译将MSIL编译成本机代码。

什么是垃圾回收,为什么他非常有用?
当对象不再被应用程序使用后,垃圾回收期清理内存。垃圾回收防止由于应用程序不释放资源而导致的内存泄漏。

为什么为web应用程序创建组件?
和其他应用程序共享业务逻辑代码。

如何验证一个带aspx的扩展名的web页面时一个web窗体?
查找<%@ Page Language="vb"/"C#" Codebehind="_.aspx.vb"/"_.aspx.cs" Inherits="_" %>
也可以查找<form runat="server">

如何知道具有web服务器控件?
查找<asp:ControlType...>或者runat="server"属性

web服务器在客户端产生html类型的代码和脚本

FlowLayout和GridLayout之间有什么区别?
在FlowLayout中,文本,图像以及控件自动换行,根据浏览器的宽度不同调整
在GridLayout中,页面的文本域,图像和控件是由绝对坐标固定的

在客户端-服务端的往返过程中,asp.net如何保存web服务器的状态控件?
使用名为_VIEWSTATE的隐藏控件

向web窗体添加功能函数时使用代码隐藏页有什么优点?
代码隐藏页从内容中分离出来,代码开发人员可以在ui设计者处理.aspx文件的同时,处理代码隐藏文件

怎样链接一个事件过程与一个服务器控件的事件?
在Visual Basic .NET中,关键字Handles涉及到控件的id和事件名称。例如:
Private Sub cmd1_Click(ByVal s As System.Object, _
ByVal e As System.EventArgs) Handles cmd1.Click
...
End Sub
在Visual C# .NET的代码隐藏页中,建立一个与控件名字相同的变量。在InitializeComponent方法中,向控件的事件属性添加事件过程。
private void InitializeComponent()
{
this.cmd1.Click += new System.EventHandler(this.cmd1_Click);
}
private void cmd1_Click(object sender, System.EventArgs e)
{
...
}

对于一个事件过程,我们要用哪两个参数?
Object(是与事件匹配的对象)和EventArgs(对于事件来说是特殊的信息)。

怎样把一个代码隐藏页同一个.aspx页链接在一起?
在@ Page指令的属性scr中加入代码隐藏页的位置

src是代码隐藏页的位置。

CodeBehind是Visual Studio .NET用来定位要编辑的代码隐藏页。

inherits是在代码隐藏页中被执行的类,被编译到项目的程序集中。

为什么要把代码隐藏页设置为预编译而不采用JIT编译
如果对一个Web应用程序所有的代码进行预编译,服务器就不需要在页面被访问时对页面进行编译,这样可以节省Web服务器上时间和资源。

什么时候把一个窗体返回到它本身?
在用户单击服务器窗体上的按钮或单击AutoPostBack属性已被设置为true的控件时。

如何通过代码来确定Page_Load事件是否因回发而触发运行?
在Page_Load事件过程中,检验Page.IsPostBack属性。如果为true,则页面已经被返回到它本身

使用Trace 对象和Debug 对象的区别是什么?
写入Debug对象的消息只有在调试器中运行Web应用程序时才会显示,而写入Trace对象的消息只要跟踪处于启用状态就会显示在Web页中。

页级跟踪和应用程序级跟踪之间的区别是什么?
当启用一个页面的页级跟踪时,只在此页显示跟踪信息。当启用应用程序级跟踪时,跟踪信息将会显示在Web应用程序的所有页面中。

怎样启用应用程序级跟踪?
在Web.config文件中,设置trace元素的enabled属性为true:
<trace enabled="true"/>

如何配置跟踪功能,使得跟踪信息仅对Web站点的本地用户可见?
在Web.config文件中,设置trace元素的localOnly属性为true:
<trace enabled="true" localOnly="true"/>

对于Web窗体可用的验证控件的类型包括:
CompareValidator
CustomValidator
RangeValidator
RegularExpressionValidator
RequiredFieldValidator
ValidationSummary
考虑下面的用户输入字段,应该使用什么类型的验证控件?
1. 用户的年龄。
RequiredFieldValidator, RangeValidator (0–120)。

2. 用户的电话号码。
RequiredFieldValidator, RegularExpressionValidator。

3. 用户的密码(需要输入两次)。
RequiredFieldValidator, CompareValidator(比较两个输入控件)。

4. 检查输入的数字是否为素数。
RequiredFieldValidator, CustomValidator。

5. 是否窗体里面所有的输入框都被正确填写。
ValidationSummary。
6. 日期的格式是否正确。
答:CompareValidator(和日期类型相比较)。

用户控件和组件的两个区别是什么?
用户控件提供了可重用代码和UI元素,而组件只提供可重用代码。组件是预编译的,而用户控件则不是。

怎么从宿主页访问一个用户控件UI元素的属性?
可以在宿主机可访问的用户控件中创建一个公共属性

创建用户控件通常有哪四个步骤?
1)在Visual Studio .NET中创建Web用户控件。
2)添加UI元素。
3)添加事件过程。
4)创建公共属性。

怎样在ASP.NET 的Web窗体中引用一个用户控件?
在ASP.NET Web 窗体中使用@ Register指令。

在同一个ASP.NET页中,能使用两个有相同名称的不同用户控件吗?为什么可以或者不可以?
可以。使用@ Register指令的TagPrefix 属性和 TagName 属性来区分每个用户控件。

能在两个不同的Web应用程序中使用同一个用户控件吗?
不一定, 必须复制用户控件文件到另一个Web应用程序的虚拟目录。也可以创建一个能被服务器上所有Web应用程序使用的Web自定义控件。

 在一个DataSet中可以有多少个DataTable?
任意多。

访问一个 SQL Server 2000数据库时需要使用什么命名空间?
答:System.Data 和 System.Data.SqlClient。

用Visual Studio .NET工具创建一个SqlDataAdapter时,SelectCommand、UpdateCommand、InsertCommand、 DeleteCommand的属性应被设置成什么呢?
Visual Studio .NET为SqlDataAdapter的每一个command属性默认创建一个 SQL声明和SQLCommand对象,可以配置SqlDataAdapter为创建存储过程来代替SQL声明和SQLCommand对象。

如何创建一个DataSet?
DataSet ds = new DataSet();

创建完一个SqlConnection对象,一个SqlDataAdapter对象,一个DataSet对象之后,如何在DataGrid控件中显示数据?
把DataGrid的DataSource和DataMember属性分别设置成要显示的目标DataSet和DataTable;然后,在一个事件处理过程中,填充DataSet(名字为ds)并且调用DataGrid(名字为DataGrid1)的DataBind方法,对于Visual C# .NET:
SqlDataAdapter1.Fill(ds);
DataGrid1.DataBind();

在本地SQL Server上使用集成的安全(sspi)创建一个数据库(名字为Coho)连接的代码是什么?
答:conn = new SqlConnection("data source=localhost;" +
"integrated security=true; initial catalog=coho");

DataSet对象和DataView对象之间有什么差别?
DataSet对象是DataTable对象的集合。
DataView对象是DataSet对象中DataTable对象的一个自定义视图。

DataSet对象和DataReader对象之间有什么差别?
DataSet对象是为处理来自数据存储器的实际数据而设计的。DataSet类代表一个数据缓冲,拥有类似数据库的行为。DataSet对象包括表、列、关系、约束和数据。关闭数据库连接以后,DataSet会继续存在。
DataReader类被设计为产生从数据库返回的只读、只进的数据流。当对数据库的连接关闭以后,DataReader也被销毁。

DataAdapter对象的用途是什么?
DataAdapter对象是用来创建和初始化各种表的一种工具。DataAdapter对象在DataSet对象和数据源之间进行数据检索和存储。DataAdapter对象负责从物理存储器中取出数据并装载到数据表和关系中。

哪个方法可以使用查询的结果来组装DataSet对象?
Fill方法。

如何把多个表添加到一个DataSet对象中?
为每一个DataTable对象创建一个单独的DataAdapter对象,并使用惟一的表名调用每个表的Fill方法。

如何在一个DataSet对象中的两个DataTable对象之间建立关系?
从DataTable对象的两个相关的DataColumns中创建一个新的DataRelation对象,然后把这个DataRelation对象添加到DataSet对象的Relations集中。

使用哪种类型的存储过程查询并获取用户的账单记录?
返回记录的存储过程。

调用存储过程有哪三步?
创建一个Command对象,设置CommaText属性为存储过程的名字,并且设置CommandType属性为CommandType.StroeProcedure。
添加必需的参数到参数集合中。
调用DataAdapter对象的Fill方法或Command对象的ExecuteNonQuery方法运行此存储过程。

在使用一个数据源时,Parameters集合中参数的名字及其顺序是否必须与存储过程相匹配?
不一定。参数的名字一定要匹配,但是在Parameters集合中的参数顺序不一定要匹配,只有使用OLE DB时才需要。

当调用返回值的存储过程的时候,你要用到Command对象中的什么方法?
ExecuteNonQuery

有哪四种存储过程参数类型?
输入、输出、输入输出和返回值。

使用XML来管理数据的优点是什么?
XML提供了一个通用的格式来描述和交换结构化的数据。XML由W3C定义。另外,可以用架构来定义XML数据的类型和结构。

格式良好的XML文档与有效的XML文档之间的区别是什么?
格式良好的XML文档遵循W3C 建议中列出的规范。
一个有效的XML文档遵循给定架构中定义的规则。

3下面的哪个代码例子是一个格式良好的XML例子?
a)<employee>12</employee>
b)<employee>12</Employee>
c)<Employee>12</employee>
答:a) <employee>12</employee>。

XSD的重要性是什么?
XSD是当前架构定义的标准。XSD的目的是定义一个有效的XML文档的结构。

在XML体系结构中,XmlDataDocument 类的角色是什么?
XmlDataDocument 类允许通过一个关系对象DataSet来存储、检索、操作结构化的数据。也可以使DataSet 对象与XmlDataDocument 对象同步。

编写代码,读取名为titles.xml的XML文件,将数据写入已存在的名为dsTitle的DataSet对象中。
title.xml文件与Web窗体和正在执行的代码隐藏页位于同一个文件夹中。
dsTitles.ReadXml(Server.MapPath("titles.xml"));

XML Web service有用户界面吗?
没有。 

从什么地方可以找到可用 XML Web service的信息?http://www.UDDI.org 或者 http://uddi.microsoft.com。

怎样才能快速测试一个XML Web service,从而知道有哪些web方法和参数是可用的?
使用一个浏览器来访问XML Web service的URL,web方法和参数将会显示出来。

怎样从访问web窗体中访问XML Web service。
创建一个XML Web service的 web 引用,该web 引用会创建一个代理。在web窗体的事件处理过程中,实例化代理并调用XML Web service的web方法。

怎么样检查在运行库中的XML Web service是否可用?
为代理设置时限,并在调用XML Web service的web方法时检查是否发生超时异常。

代理和XML Web service之间通信使用什么协议?
SOAP协议。

如果要公开XML Web service的方法,应该给方法添加什么属性?。
WebMethod()属性

.asmx文件和.asmx.vb (或.asmx.cs)文件有什么区别?
.asmx 文件标识ASP.NET Web页的类型、语言和代码隐藏页。
.asmx.vb (或.asmx.cs)文件是代码隐藏页。

如何创建一个Web应用程序来使用无Cookie会话?
在Web.config文件中创建一个<sessionState>节并设置Cookieless属性为true。
<sessionState Cookieless="true"/>

在global.asax文件中被处理的三类事件是什么?
当请求页时触发的事件、当发送请求页时触发的事件、有条件应用程序事件。

应用程序的global.asax 文件放在什么地方?
在Web应用程序的虚拟根目录下。

对于单个的Web应用程序能否存在多于一个的global.asax 文件?
不能。

在一个网络场(Web farm)中使用会话变量,ASP.NET需要执行的两个步骤是什么?
在Web服务器上,配置(Web.config)会话状态来使用一个外部的SQL Server或状态服务器,然后运行InstallSqlState.sql脚本来安装数据库(SQL Server)或开始一个特定的Windows服务(状态服务器)。

临时的Cookie和持久的Cookie之间的区别是什么?
临时的Cookie不能被存储在客户机的硬盘上,且当用户关闭浏览器时它就从内存中被删除。
永久的Cookie被存储在客户机的硬盘上直到它过期。

会话变量的SessionID是用什么来保留的?
如果在Web.config中Cookieless属性被设置为false,则使用Cookie。如果Cookieless属性被设置为true,则SessionID通过查询字符串来传递。

Cache对象和页输出缓存间有什么不同?
Cache对象用来存储Web应用程序中页面之间的共享信息。
页输出缓存用来存储整个页面或者页面片断的副本,这些副本对请求同一页面的其他用户来说也是可用的。

应该将一个DataSet放入哪种缓存中?
Cache对象。也可以将DataSet放在用户控件中,然后为这个用户控件使用页输出缓存。

哪个文件可以用来配置ASP.NET Web应用程序?
机器范围内配置使用的是Machine.config 文件。
应用程序和子目录配置使用的是Web.config 文件。

部署一个ASP.NET Web应用程序有哪三个主要的步骤?
1) 生成Web应用程序。
2) 从目录中只选择必需的文件。
3) 将必需的文件复制到产品目录中。

全局程序集缓存的目的是什么?
全局程序集缓存提供了一种机制,被用于缓存同一台服务器上的多个应用程序共同使用的程序集。

为什么在部署Web应用程序的时候要删除代码隐藏页(.aspx.vb和.aspx.cs)?
在编译Web应用程序时,所有的代码文件都被编译到DLL文件中,.aspx页面引用那个DLL文件,因此不需要这个代码隐藏页。

为什么会考虑使用动态属性在Web.config中存储一个XML Web service的URL?
一个XML Web service的URL可能会随着时间改变。使用动态属性以后,如果它发生改变,那么仅需更新Web.config文件,而不需要先改变Web应用程序中的代码,然后重新编译和部署Web应用程序。


posted @ 2009-12-07 19:42  木由水  阅读(516)  评论(2编辑  收藏  举报