摘要: 状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程。与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点。此外,到服务器的每一往返过程都将销毁并重新创建页;因此,如果超出了单个页的生命周期,页信息将不存在。ASP.NET 提供多种方式来在服务器往返过程之间维护状态。对这些状态管理选项的选择主要取决于您的应用程序,并且应基于以下条件:需要存储的信息量有多大?客户端是接受持久性的还是内存中的 Cookie?要将信息存储在客户端还是服务器上?信息是否是敏感信息?您对应用程序设定了什么 阅读全文
posted @ 2012-06-11 16:30 成天狂 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在许多应用程序中,需要存储并使用对用户唯一的信息。用户访问站点时,您可以使用已存储的信息向用户显示 Web 应用程序的个性化版本。个性化应用程序需要大量的元素:必须使用唯一的用户标识符存储信息,能够在用户再次访问时识别用户,然后根据需要获取用户信息。若要简化应用程序,可以使用 ASP.NET 配置文件功能,该功能可为您执行所有上述任务。ASP.NET 配置文件功能将信息与单个用户关联,并采用持久性的格式存储这些信息。通过配置文件,可以管理用户信息,而无需创建和维护自己的数据库。此外,通过使用可从应用程序中的任何位置访问的强类型 API,就可以借助 ASP.NET 配置文件功能使用相关的用户信息 阅读全文
posted @ 2012-06-11 16:29 成天狂 阅读(240) 评论(0) 推荐(0) 编辑
摘要: ASP.NET 为您提供了一个强大的、便于使用的缓存机制,用于将需要大量服务器资源来创建的对象存储在内存中。缓存这些类型的资源会大大改进应用程序的性能。缓存是由 Cache 类实现的;缓存实例是每个应用程序专用的。缓存生存期依赖于应用程序的生存期;重新启动应用程序后,将重新创建 Cache 对象。设计 Cache 类是为了便于使用。您可以将项放置在 Cache 中,并在以后使用简单的键/值对来检索这些项。Cache 类提供了强大的功能,允许您自定义如何缓存项以及将它们缓存多长时间。例如,当缺乏系统内存时,缓存会自动移除很少使用的或优先级较低的项以释放内存。该技术也称为清理,这是缓存确保过期数据 阅读全文
posted @ 2012-06-11 16:28 成天狂 阅读(185) 评论(0) 推荐(0) 编辑
摘要: ASP.NET 允许您使用会话状态保存每个活动的 Web 应用程序会话的值,会话状态是 HttpSessionState 类的一个实例。会话状态与应用程序状态相似,不同的只是会话状态的范围限于当前的浏览器会话。如果有不同的用户在使用您的应用程序,则每个用户会话都将有一个不同的会话状态。此外,如果同一用户在退出后又返回到应用程序,第二个用户会话的会话状态也会与第一个不同。会话状态采用键/值字典形式的结构来存储特定于会话的信息,这些信息需要在服务器往返行程之间及页请求之间进行维护。可以使用会话状态来完成以下任务:1.唯一标识浏览器或客户端设备请求,并将这些请求映射到服务器上的单独会话实例。2.在服 阅读全文
posted @ 2012-06-11 16:27 成天狂 阅读(311) 评论(0) 推荐(0) 编辑
摘要: ASP.NET提供一个类System.Web.HttpContext ,用来表示上下文,此对象有一个属性Items暂存状态就是利用HttpContext.Items属性来存放数据MSDN中HttpContext.Items属性的解释是这样的:获取可用于在 HTTP 请求过程中在 IHttpModule 和 IHttpHandler 之间组织和共享数据的键值HttpContext.Items属性中可以存放任何类型数据,无论这个属性中存放什么数据,都会在请求处理结束后自动清除,这就是暂存状态,数据的存放时间非常短.//例如://我们有一页面A.ASPX,有一按钮ID:Submit,点按钮把页面转向 阅读全文
posted @ 2012-06-11 16:26 成天狂 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 查询字苻串是追加在URL后的数据(也是我常用的)例如:http://www.cnblogs.com/aierong/admin/EditPosts.aspx?opt=abc这里?后的opt=1就是查询字符串当我们在一页面向另一页面传递数据时可以用此方法。使用如下方法接到数据:string str=Request.QueryString[“opt“]这样str就等于“abc“这里我们传递的是英文字符,要是传递中文字符,我们得进行编码和解吗:傳送時用Server.UrlEncode方法編碼,接收時用Server.UrlDecode解碼.例如:传递:string url=“http://www.cn 阅读全文
posted @ 2012-06-11 16:22 成天狂 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Cookie 提供了一种在 Web 应用程序中存储用户特定信息的方法。例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息。当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息。什么是 Cookie?Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。 例如,如果在用户请求站点中的页面时应用程序发送给该用户的不仅仅是一个页面,还有一个包含日期和时间的 Cookie,用户的浏览器在获得页面的同时还获得了该 Cookie,并将它存储在用户硬盘上的某个文件夹中 阅读全文
posted @ 2012-06-11 16:21 成天狂 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 如果您在编写控件,可以将控件的状态信息存储在 ViewState 字典中,该字典是一个 StateBag 对象。开发人员将通过 ControlState 属性检索控件状态。您为 ViewState 属性指定键和值,Page 对象将对请求之间的状态信息进行序列化。要在您的控件中执行自定义状态处理,可重写 LoadViewState 和 SaveViewState 方法。在页开发人员禁用视图状态时,存储在此字典中的所有状态信息都会丢失。为弥补这一缺陷,在 ASP.NET 2.0 版中,您可以将关键状态信息存储在一个称为控件状态的单独对象中。在页开发人员禁用视图状态时,控件状态对象不会受到影响。要将 阅读全文
posted @ 2012-06-11 16:20 成天狂 阅读(207) 评论(0) 推荐(0) 编辑
摘要: ASP.NET 允许您将信息存储在 HiddenField 控件中,此控件将呈现为一个标准的 HTML 隐藏域。隐藏域在浏览器中不以可见的形式呈现,但您可以就像对待标准控件一样设置其属性。当向服务器提交页时,隐藏域的内容将在 HTTP 窗体集合中随同其他控件的值一起发送。隐藏域可用作一个储存库,您可以将希望直接存储在页中的任何特定于页的信息放置到其中。安全注意 恶意用户可以很容易地查看和修改隐藏域的内容。请不要在隐藏域中存储任何敏感信息或保障应用程序正确运行的信息。HiddenField 控件在其Value属性中只存储一个变量,并且必须通过显式方式添加到页上。为了在页处理期间能够使用隐藏域的值 阅读全文
posted @ 2012-06-11 16:20 成天狂 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 视图状态是 ASP.NET 页框架默认情况下用于保存往返过程之间的页和控件值的方法。当呈现页的 HTML 形式时,需要在回发过程中保留的页的当前状态和值将被序列化为 Base64 编码的字符串,并输出到视图状态的隐藏字段中。视图状态是 ASP.NET 页中的储存库,可以存储需要在回发过程中保留的值。例如,您可以将信息存储在视图状态中,下次将页面发送到服务器时,将会在页加载事件过程中访问这些信息。您可以使用页的 ViewState 属性(此属性公开一个字典对象)来访问视图状态信息。由于视图状态数据以字符串的形式存储,因此只能存储可以序列化的对象。视图状态数据以 Base64 编码字符串的格式存储 阅读全文
posted @ 2012-06-11 16:18 成天狂 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 第一部分:页面状态介绍Http协议————“无状态协议”Web服务器每分钟对上千个用户进行管理的一种方式就是执行所谓的“无状态”链接。只要有一个希望浏览器返回一个页面、图像或其他资源的请求,就发生以下事情:1、连接到服务器2、告诉服务器想要的页面、图像或者其他项3、服务器发送请求的资源4、服务器切断连接,把用户忘的干干净净。也就是页面之间在Http协议下是没有任何关系的,这样就需要有状态管理来传输页面之间的数据。WEB页面处理过程1、页面的一次往返处理:用户对服务器控件的一次操作,就可能引起页面的一次往返处理:页面被提交到服务器端,执行响应的事件处理代码,重建页面,然后返回到客户端。2、页面重 阅读全文
posted @ 2012-06-11 16:17 成天狂 阅读(485) 评论(0) 推荐(1) 编辑