状态管理基于客户端_第1页
状态管理基于客户端_第2页
状态管理基于客户端_第3页
状态管理基于客户端_第4页
状态管理基于客户端_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VisualStudio2005系列课跟我一起VisualStudio2005ASP.NET状态管理 状态管理基于客户端的状基于服务器的状ASP.NET2.0状态管理C/SC/S状态管理B/S程B/S程状态管理Web本质上是无状态的;对页面的每个请求都将被视为新请求,而且默认情况下来自一个请求的信息对下一个请求不可用。为了帮助克服此基于Web的应用程序的固有限ASP.NET包含许多用于管理状态(即用 请求之间的信息)的功能状态管理基于客户端的状态基于服务器的状ASP.NET2.0基于客户端的状态将数 在客户端上以保持状态信息实现方式包视图ViewState属性提供一个字典对 在ViewState属性中的数据MaxPageStateFieldLength属性中视图使用视图 对Unicode实现进行编码,其安使用视图性能注意事项由于视图状态在页本身,因此如果较大设备限制移动设备可能没有足够的内存容量来大量的状态数据潜在的安全风险视图状态 控件 选项卡。可以使用ViewState属性来实现这一目的,不法正常工作。为了解决此问题,ASP.NET页框架在ASP.NET中公开了一项名为控件状态的功能。ControlState示控件使用控件状态的

可靠性因为控件状态不像视图状态那样可以关闭,控通用性可以编写自定义适配器来控制如何 使用控件状态的ASP.NET页框架为控件状态提供了ASP.NET允许您将信息 HiddenField控件中,此控件将呈现为一个标准的HTML隐藏的内容将在HTTP窗体集合中随 必须使HTTPPOST命令提相应的使用隐藏域的不需要任何服务器资源隐藏域在页 HTML使用隐藏域的潜在的安全风险隐藏域可以被篡改。如果直接查看页输出源,可以看到隐藏域中的 简单的 结构隐藏域不支持复杂数据型隐域提一字串存息。若要 个,须分的符以用析些符的码您可以动分复数类列为藏以将域序化复数类型。但,这要外代实。您复类型 在端 限制如果隐藏域中的数据量过大,某些 将每个项放置在单独使用视图状态并打开不将数 在客户端上,将数据保留在服务器上。向客户端发送的数据越多,您的应程序的表面响应时间越慢,因为浏览器需 或发 的数据

为4096字节的浏览器可以关 使 的优 不需要任何服务器资 简单 数据持久性虽然客户端计算机 使 的缺大小受到限制大多数浏览器对 的大小有4096字节的限制,尽管在新的浏览器和客户端设备版本中,支持8192字节的 用户配置为禁用有些用户禁用了浏览器或客户端设备接收 潜在的安风险 可能会被用会 计的 ,这意着对造风导于 的应程。另外,虽然 只能被将它到的域 ,上 发户计算机的域 的方法。您动和 ,但这需要额外编且密和 需一间应的性。查询字 查询字符串提供了一种状态信息的方法,这种方法很HTTPGET查询字使用查询不需要任何服务器资源查询字符串包含在对特定URL的HTTP求中持几串传递单HttpRequest对象的Params属 查询字符串的方法使用查险用符串中的信息URL设置为书签或发送给别的用户,从而通过URL传递查询字符串中的信息。如果您担心查询字符串中的任何敏感数据,请考虑使用窗体(使用POST而不是查询字容量有字符的限制基于客户端的状态管视图状 控件状当您需要在服务器的往返过程 隐藏 注意:只能在提交到服务器的页上使用隐当您需要在客户 查询字符注意:只有在请求同一页,或通 状态管理基于客户端的状基于服务器的状态ASP.NET2.0基于服务器的状态ASP.NET为您提供了多种方法,用于服务器应用程序1 34ASP.NET允许您使用应用程序HttpApplicationState类的一个 1 34应用程序状态可用 需 B1234在服务器往返行1234求之 的信息 应用程序使用应用且与其.NETFramework类一范围由使用应用程序状态的缺应用程序范围应用程序状态的范围可能也是一项缺点。在应用程序状态中的变量仅对于该应用程序正在其中运行的特定进程而言是全局的,并且每一应用程程可能具有不同的值。因此,不能依赖应用程序状态 唯一值或更新Web场和园服务器配置中的全数据持续性有限因为在应用程序状态中 的,所以如果包含这些数据的Web服务器进程被损坏(如因服务 性能以及应用程序的会话 12B12B34在服务器上特定于会话的数据,以 会话使用会话状态的优实现简单会话状态功能易于使用,为ASP开发人员所熟悉,并且与其他.NETFramework类一致。

数据持久性放置于会话状态变量中的数据可以经受得住Internet信息服务(IIS)重 个进程空间中。此外,会话状态数据可跨多进程保持(例如在Web场或Web园中)无需支持尽管会话状态最常见的用途是与一起向Web应用程序提供用户标识功能,但会话状态可用于不支持HTTP 用无的会话状态需要将会话标识符放置在查询字符串中可扩展性您可通过编写自己的会话状态提供程序自定义和扩展会话状态。然后可以通过多种数据机制(例如数据库、XMLWeb服务)将会话状态数据以自定义数据格式。使用会话状态的缺性能注意事项会话状态变量在被移除或替换前保留在内存中,因而可能降低服务负荷的增加影响Web服务器的性能。配置文件ASP.NET提供了一个称为配置文件属性的功能,可 据不会丢失。配置文件属性功能使用ASP.NET配置文件,此配置文件以持 因为放置在配置文件属性中的数据没 234配置文件使用配置文件属性的优数据持久性放置在配置文件属性中的数据在IIS和辅助进程重新启动过程中得 可跨多进程保持(例如在Web场或Web园中)。可扩展性为了使用配置文件属性,您必须对配置文件提供程序进行配置。ASP.NET提供了一个SqlProfileProvider类,使您可以将配置文件数据 在SQL 机制中,例如XML文件甚至Web服务。使用配置文件属性的缺 求性能要用当的置。若要使用配置件性您要配文提程行置还预配置您想要 的有置件。 数据库持来上的状态。通常,数据库支持与或会话状态结合在一起使用。例如,对于电子商务,普遍使用关系数据库状态信息,其原因是:数据库使用数据 状态的优安全 数据库需要严格 验证 容量可以根据需要在数据库 数据持久性可以根据需要在尽可能长的时间内 息不受Web服务器可用性的影响。可靠性和数据完整性数据库包括多种用于 使用数据 状态的缺复杂性基于服务器的状态管应用程序状可在以下情况下使用 会话状可在以下情况下使用:特定于单独会话的短期信息,并且需要较高的安全性。不要在会话状态中大量的信息。需要注意,将为应用程序中每一会话的生存期创建并会话状态对象。在支持许多用户的应配置文件 数据库可在以下情况下使用:大量信息,管理交易,或者信息必须可以经配置文件(CtrlH在窗口模式和全屏模式之间切换状态管理基于客户端的状基于服务器的状ASP.NET2.0状态管理的新增 ControlState属性允许保持特定于控件的属性信息,不像ViewState属性一样可以关闭。若要使用控件状态,控件必须在初始化过程中调用RegisterRequiresControlState方法,然后重写SaveControlState和LoadCo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论