Web数据管理课后习题答案(郭小群版)第五章

第五章

2、基于Web的计算模型有哪些?每种模型中计算通常在什么地方完成(客户端还是服务器端)?

答:服务器支持的纯HTML,在服务器端完成

客户端脚本,在客户端完成

服务器端脚本,在服务器端完成

服务器端后台代码,在服务器端完成

3、在ASP.Net Web站点应用中存放哪些类型的文件,它们的功能分别是什么?

答:(1)ASPX文件:用于创建用户与程序交互的GUI页面。

   (2)ASCX文件:ASCX文件都通过服务器端脚本或页面后台代码创建HTM页面中的用户控件。

   (3)Web。config文件:它包含模式定义、访问控制、参数化应用的行为等配置设置。

   (4)Global.asax全局应用类:包含对全局事件的事件处理。

   (5)DLL:它包含Windows环境下点的通用库函数,并与.exe文件有相同的格式。

   (6)C#文件或者.cs文件用于页面后台的事件处理程序。

   (7)Xhtml页面:是ASPX页面的标记页面。

4、在应用目录中,ASP.Net Web站点应用中的各种文件是如何组织的?

答:这些文件组织成一个树形图,全局文件之后必须放在根目录下,并且任何应用只能应用一个全局文件,任何目录下都可以定义任意数目的ASPX文件、ASCX文件和DLL文件。每个目录只定义一个Web.config文件。

5、如何创建用户控件,如何把用户控件包含在Web页面中?

答:用户控件可以通过下列步骤实现:

(1)选择Visual Stidio 菜单命令Web站点——添加新项…

(2)在弹出的窗口中选择Web用户控件。

(3)把新命令为SenderDateTime.ascx,点击添加。用户控件将会出现在应用程序的Solution Explorer中。

(4)双击文件名SenderDateTime.ascx打开文件,出现”source”视图,在页面中添加两个名为1b1DateMsg和1b1Date的标签。

(5)点击“design”标签,转换到设计视图,在图形视图中查看标签。

(6)双击页面的恐怖区域打开C#编码页,添加C#代码。

将用户空间与需要控制的ASPX页面连接。要连接Sender。aspx页,需要打开XHTML源代码视图,通过添加代码中的第一行来注册用户控件。

6、为什么需要用户控件?用户控件的哪些功能不能由服务控制取代?

P214 用户控件使得用户使用非常容易,它的重用性不能被服务控制取代。

7:Global.asax文件的主要功能?

全局应用类,包含负责处理全局事件的处理程序。全局变量可以通过形如Application[index]的应用状态来使用,他提供了对象数组存储全局信息。提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。

8:现有的状态管理机制有那些,每种机制的主要特点是什么?

P224页 表5.2

Web数据管理课后习题答案(郭小群版)第五章_第1张图片

9:ASP.net 中状态变量的最常见形式是什么?它存放什么类型的数据?

对象数组,字符串。

几种常用的变量:  

Application 是应用程序级变量,如果用到多个用户之间的通信的时候用;

Session 是用户变量,一个用户访问多个页面时可以保存数据到另一个页面,只要此用户不注销即可;

ViewState 页面变量,相当于页面全局变量,但是一旦退出当前页面,它就会丢失。

  1. Session["UserID"]="甲";

表示只要甲不注销,不论跳到哪个页面,string   str   =   Session["UserID"]都保存初始化时的数据,常用于在:Page_Load事件中,验证身份;  

  1. Application["x"];

只要赋了值,如: Application["x"];   则甲和已可以共享到此值,可以用于计数器,,记录站点访问量只要一个用户登录,则Application["x"] += 1;加一个数,表示有个新用户刚刚登录;

  1. this.ViewState["y"] = "abcde";

则表示在本页面中,this.ViewState["y"]值可以作为全局变量使用,只要不退出本页面,  包括刷新页面,它都不会丢失。

  1. 使用视图状态代替会话状态有什么好处

答:由于数据存储在客户端,视图状态的好处是能最大限度的减少服务器的负担,数据存储在客户端,视图状态可以使服务器处理更多数量的访问。

  1. 对比视图状态,Cookie、会话状态以及应用状态几种状态管理机制?

答:ASP.NET为了实现状态管理功能,提供了8种方法,可帮助我们在页面之间或者整个用户会话期间保留状态数据。 这些方法分为二类:视图状态、控件状态、隐藏域、Cookie 和查询字符串会以不同方式将数据发送到客户端上。 而应用程序状态、会话状态和配置文件属性(Profile)则会将数据存储到服务端。

视图状态:在ASP.NET的早期,微软为了能帮助广大开发人员提高开发效率,引用入一大批的服务端控件,并为了能将事件编程机制引入ASP.NET中,又发明了视图状态。这种方式虽然可以简化开发工作量,然而却有一些限制和缺点:1)视图状态的数据只能用于回发。2)视图状态的“滥用”容易导致生成的HTML较大,这会引起一个恶性循环:
a. 过大的ViewState在序列化过程中会消耗较多的服务器CPU资源,
b. 过大的ViewState最终生成的HTML输出也会很大,它会浪费服务端网络资源,
c. 过大的ViewState输出导致表单在下次提交时,会占用客户端网络资源。
d. 过大的ViewState数据上传到服务端后,反序列化又会消耗较多的服务器CPU资源。
  因此,整个交互过程中,用户一直在等待,用户体验极差。

Cookie:由于HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分它们是不是来源于同一个浏览器。所以,需要额外的数据用于维护会话。 Cookie 正是这样的一段随HTTP请求一起被传递的额外数据。 Cookie 是一小段文本信息,它的工作方式就是伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。

优点:
1. 可配置到期规则:Cookie可以在客户端长期存在,也可以在浏览器关闭时清除。
2. 不需要任何服务器资源:Cookie 存储在客户端。
3. 简单性:Cookie 是一种基于文本的轻量结构,包含简单的键值对。
4. 数据持久性:与其它的客户端状态数据相比,Cookie可以实现长久保存。 
5. 良好的扩展性:Cookie的读写要经过ASP.NET管线,拥有无限的扩展性。 

这里我要解释一下Cookie 【良好的扩展性】是个什么概念,比如:
1. 我可以实现把Cookie保存到数据库中而不需要修改现有的项目代码。
2. 把SessionId这样由ASP.NET产生的临时Cookie让它变成持久保存。 

缺点:
1. 大小受到限制。
2. 增加请求头长度。
3. 用户可见,保存敏感数据时需要加密。 

会话状态:会话状态是ASP.NET实现的一种服务端会话技术,它允许我们方便地在服务端保存与用户有关的会话数据。优点是最简单的服务端会话实现方式。

你可能感兴趣的:(书本课后答案,学习)