ASP.NET的状态保持:
1.viewstate:隐藏域,记录服务器端控件的状态,适用于页面不关闭的情况下多次与服务器交互,页面自己给自己传值;文本框的改变事件、IspostBack也依赖viewstate。
2.cookie:一小段文本,存储在客户端(浏览器)中,当请求某个网页的时候,浏览器会将与这个网页相关的cookie取出,一并发送到服务端;存放在浏览器内存(会话cookie,无过期时间 ;浏览器关闭cookie即过期)和磁盘(域cookie,可以设置过期时间)中。注意,如果不给cookie设置过期时间,则此cookie存储在浏览器中,浏览器关闭的时候,cookie即失效;如果设置过期时间,则为域cookie,存储在磁盘中,直到过期时间到来才会失效。(cookie是与域相关的,不同域的cookie不相互使用,主域的cookie子域都可以访问,子域的cookie主域是访问不到的 )
-> cookie的使用:
1.Response.cookie["Name"].value;
2.HttpCookie cookie=new HttpCookie("name","value");
cookie.Expires=DateTime.Now.AddHours(1);
Response.Cookies.Add(cookie);
Cookie限制总的大小是4kb 一个网站总数不超过20个,最多300个左右。也就是Cookie是有很多限制的一般放少量的数据。Cookie的适用场景:记住我!
3.Session:会话!持续的一段时间。Session存储在服务器端,使用场景用于页面间传值。
Session.Abandon(); //销毁服务器端的Session对象
Session.Clear();//清空服务端的Session对象里的键值对,
Session对象并没有从Session池里销毁
一般处理程序使用Session的话:要实现接口(IRequiresSessionState)
只是读取Session的话,不需要实现接口,此接口就是一个标志
Session机制并不是Http协议规定
滑动窗口机制,在第一次向服务器发送请求的时候,服务器解析发现没有SessionID就会在响应的时候加入SessionID,那么在会话时间范围内再次向服务器发送请求,服务器解析请
求报文,发现有SessionID,就会认同第二次请求和上一次请求在同一次会话当中,同时将会话时间再向后延迟一段时间;如果超过Session规定的时间再访问则服务器不认为和上一次会话是
同一次会话,则会在响应报文重新给一个SessionID来维持会话。
Session:缺陷(问题):当前服务器重启,Session就会丢失。
注意,禁用Cookie后,Session的id是通过URL进行传递的。
4.Application,类似于全局变量,通过在Global文件中的Session_Start和Session_End事件对Application["key"]设置值可以实现“在线人数统计”的功能。
浅析ASP.NET的状态保持的更多相关文章
-
表格搞定 Asp.net Web 状态管理
最近在网上搜罗了 ASP.NET WEB 状态管理方面的一些内容,终于把这些内容整合总结了一下. 1. 希望自己通过整理,能够掌握一些,为自己投资. 2. 以便自己忘记,又要浪费时间搜罗. 3. 希望 ...
-
ASP.NET Web – 状态管理
状态类型 客户端或服务器资源 有效时间 ViewState 客户端 只在一个页面中 Cookie 客户端 关闭浏览器时会删除临时cookie,永久cookie存储在客户系统的磁盘上 Session 服 ...
-
Azure Redis Cache作为ASP.NET Session状态提供程序
从上一篇博客<使用Azure Redis Cache>我们已经可以创建并使用Redis Cache为我们服务了. 作为Web开发者,我们都知道Session状态默认是保存在内存中的,它的优 ...
-
asp.net 的状态管理
状态管理 (state management) 在Web应用程序中,一向是很重要的课题,良好的状态管理可以帮助开发人员发展出具有状态持续能力的应用程序(像是工作流程型应用程序或是电子商务应用程序),但 ...
-
asp.net登录状态验证
文章:ASP.NET 登录验证 文章:ASP.NET MVC下判断用户登录和授权状态方法 文章:.net学习笔记---HttpHandle与HttpModule 第一篇文章,介绍了 1)早期的Base ...
-
ASP.NET 常用状态(信息)保存方式
服务器端:Session(会话)/ Application/ Caching(缓存)/DataBase(数据库) Session: Session: 常用于保存登录用户ID.验证码 不同的浏览器不能共 ...
-
浅析Asp.Net Core框架IConfiguration配置
目录 一.建造者模式(Builder Pattern) 二.核心接口与配置存储本质 三.简易QueryString配置源实现 四.宿主配置与应用配置 一.建造者模式 为什么提建造者模式?在阅读.NET ...
-
[译]面向初学者的Asp.Net状态管理技术
介绍 本文主要讲解Asp.Net应用程序中的状态管理技术(Asp.Net中有多种状态管理技术),并批判性地分析所有状态管理技术的优缺点. 背景 HTTP是无状态的协议.客户端发起一个请求,服务器响应完 ...
-
(转)ASP.NET缓存概念及其应用浅析
ASP.NET缓存概念及其应用浅析 ASP.NET缓存是什么呢?ASP.NET缓存有什么样子的特点呢?本文就向你详细介绍ASP.NET缓存的相关情况. ASP.NET缓存概念是什么呢?通常,应用程序可 ...
随机推荐
-
基于highcharts封装的组件-demo&;源码
前段时间做的项目中需要用到highcharts绘制各种图表,其实绘制图表本身代码很简单,但是由于需求很多,有大量的图形需要绘制,所以就不得不复制粘贴大量重复(默认配置等等)的代码,所以,后来抽空自己基 ...
-
IBM实习
来到北京,进入IBM实习已经好多天了,两个月的暑假,两个月夏日在这里度过了,并将在未来个一个月里面,仍将在这里走过,但是我却一无所成,现在仍然只在徘徊中游走,丹迪什么时候能真正懂得实习的难得可贵,懂得 ...
-
Linux驱动设备中的并发控制
一.基本概念 二.中断屏蔽 三.原子操作 四.自旋锁 五.信号量 六.互斥体 七.自旋锁与信号量的比较 Linux设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发的访问会导致竞态,即使 ...
-
单元测试工具 SmokeTest
.NET 程序集单元测试工具 SmokeTest Smoke Test(冒烟测试),也称Regression Test(回归测试),是对软件的安装和基本功能的测试.一般地我们使用脚本来实现Smoke ...
-
log4j配置详解[http://www.iteye.com/topic/378077]
log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j. 首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址: http://logging.apache. ...
-
Servlet路径映射
Serlvlet路径映射 当一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url. 容器默认请求的是一个Servlet,所以不会直接根据 ...
-
haproxy反向代理
haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...
-
【Codeforces】Codeforces Round #551 (Div. 2)
Codeforces Round #551 (Div. 2) 算是放弃颓废决定好好打比赛好好刷题的开始吧 A. Serval and Bus 处理每个巴士最早到站且大于t的时间 #include &l ...
-
linux中date命令显示
1. date用来显示具体的日期和24进制的时间 [jasmine.qian@ ~]$ date Fri Jan 25 14:17:17 CST 2019 [jasmine.qian@ ~]$ dat ...
-
2.34 jquery定位
2.34 jquery定位(简直逆天) 前言元素定位可以说是学自动化的小伙伴遇到的一道门槛,学会了定位也就打通了任督二脉,前面分享过selenium的18般武艺,再加上五种js的定位大法.这些还不够的 ...