WEBFORM--第二讲

所有的Web程序都是无状态的。
原因:它们使用的Http传输协议本身就是无状态的协议。
表现:每个返回到客户的页面,都与之前或之后的页面不相关,无法访问之前页面的数据,或为之后页面送数据。
解决:在服务端或客户端通过使用几个对象来专门存储相关状态的数据。

存储在服务端的状态对象
Session:
每个独立的浏览器会创建一个独立的Session ,不是一台电脑一个Session。
Session存储的数据,在当前会话中共享。
Session在20分钟之内,如果没有会话操作,则Session会自动释放。
语法:
1.用Session存值:Session["key名"] = 值; 值,不只是个字符串,可以是对象。
2.从Session取值:类型 变量名 = (强制转换的类型名)Session["key名"]
3.判断Session中是否存有某个值

4.释放Session
释放某个Session:Session["key名"] = null;
释放会话中的所有的Session:Session.Clear();
自动释放:20分钟

案例:
1.登录:防止绕过登录界面。


2.登录:把用户名记好。在每个界面上显示“欢迎您:用户名”

Application
所有会话共享一个Application空间,任何一个人改变Applciation中的内容,其它人都会发现被改变了。
Application中的数据不会自动释放。
1.用Application存值:Application["key名"] = 值; 值,不只是个字符串,可以是对象。
2.从Application取值:类型 变量名 = (强制转换的类型名)Application["key名"]
3.判断Application中是否存有某个值
if(Application[“key名”] == null)
{

}
4.释放Application:Application["key名"] = null;

存储在客户端(硬盘上的)的状态对象:
Cookie
保存在客户端内存或硬盘般上的。
临时Cookie是存在浏览器内存中的。持久Cookie是存在硬盘上浏览器相关的Cookie目录中的。

设置Cookie
Response.Cookies["key名"].Expires = 过期时间。
Response.Cookies["key名"].Value = 值。

读取Cookie
string s = Request.Cookies["key名"].ToString();

会写入临时Cookie,持久Cookie;会读取Cookie;会删除Cookie。

用cookie做登录

时间: 05-27

WEBFORM--第二讲的相关文章

通达OA 二次开发培训第二讲

本次是通达OA二次开发第二讲,主要介绍了如何在通达OA中进行程序开发,并将开发程序挂接到OA系统中.

从大数据菜鸟走上大师的历程 第二讲:函数定义,流程控制,异常处理

Scala 第二讲 函数定义,流程控制,异常处理 For 循环  for(左边为单个对象obj  <-  右边为对象集合objs ) for 循环里把右边的对象赋给左边 现在正是学习大数据的最好机遇,不花一分钱就可以成为大数据高手,实现年薪50万的梦想. 王家林的第一个中国梦:免费为全社会培养100万名优秀的大数据从业人员! 如果您有兴趣请点击这个链接进入大数据的学习 http://blog.sina.com.cn/s/blog_8fbd39ee0102vto3.html 如果您确实感觉视频教程

机器学习基石第二讲:learn to answer yes/no

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完成了机器学习基石的第二讲,主要介绍了机器学习的定义,PLA算法和pocket PLA算法.下面将笔记整理在下面. Perceptron Hypothesis Set 延续前面的信用卡发放问题.银行已有的用户数据可能包括用户的年龄.年薪.工作时长.债务情况等特征信息,我们分别用x1,x2,-,xd来表示,那么对于每一个用户都有一个向量来表示其信息.我们为每一个特征信息分配一个权

16位汇编第六讲汇编指令详解第二讲

16位汇编第六讲汇编指令详解第二讲 1.比较指令 CMP指令 1.CMP指令是将目的操作数减去源操作数,按照定义相应的设置状态标志 2.CMP指令执行的功能与SUB指令(相减指令)一样,但是不同的是CMP指令之根据结果设置标志位 而不修改值 可以操作的指令格式 CMP reg,imm/reg/mem CMP mem,imm/reg 上面是CMP指令的语法,具体的也可以查询帮助文档,inter手册 inter手册查的办法 第一个框代表了CMP指令的所有语法 比如 reg,reg 表示可以比较寄存器

《上古天真论》第二讲文字版

上古天真论篇第二讲 主讲:徐文兵  主持:梁  冬 播出时间:2008-12-20  23:00—24:00     经文:食饮有节,起居有常,不妄作劳,故能形与神俱,而尽其天年,度百岁乃去.今时之人不然也,以酒为浆,以妄为常,醉以入房,以欲竭其精,以耗散其真,不知持满,不时御神,务快其心,逆于生乐,起居无节,故半百而衰也. 梁:辅佐中国文化,发扬光大,大家好我的梁东,在我面前的是我非常尊敬的厚朴中医学堂的堂主徐文兵老师. 徐:梁东好,听众朋友们,大家好! 梁:大家好!我们计划,从新发现中医太美

POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页 //第一个单元格 Row row=sheet.createRow(0); // 创建一个行 Cell cell=row.createCell(0); // 创建一个单元格 第1列 cell.setCellValue(new Date()); // 给

(转)【风宇冲】Unity3D教程宝典之AssetBundles:第二讲

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 AssetBundles第二讲:AssetBundles与脚本 所有Unity的AssetBundle,无论是从本地获取 还是www,或者打包整个场景.物体上的脚本都不会被编译.所以AssetBundle打包的时候即使物体上有脚本.导入后其他所有Unity的文件都不会有问题,唯独脚本是没作用的.那能不能用脚本呢? 答案是,可以! 核心是脚本可以打包进Dll,然后在客户端用System.Reflection下的Assembly来加载. 步

32位汇编第二讲,编写窗口程序,加载资源,响应消息,以及调用C库函数

32位汇编第二讲,编写窗口程序,加载资源,响应消息,以及调用C库函数 (如果想看所有代码,请下载课堂资料,里面有所有代码,这里会讲解怎么生成一个窗口程序) 一丶32位汇编编写Windows窗口程序 首先我们知道32位汇编是可以调用Windows API的,那么今天我们就调用windowsAPI来写一个窗口程序 如果你有windows开发知识,那么就很理解了,如果没有,那么跟着我写,跟着步骤去写,那么也可以写出来 首先我们要编写一个窗口程序(使用SDKAPI编写)有几个步骤 1.设计窗口类 2.注

Unity3D教程宝典之光影烘焙:第二讲AreaLight

Area Light,俗称面灯.没有任何实时光照的效果,仅用于Light baking即烘焙.创建一个Area Light,界面如下 Color:颜色Intensity:强度,Width:宽Height:高 Scale缩放对光没有任何影响.主要是宽高调整面的区域大小.选中Arealight后,Arealight的区域会在Scene窗口中以黄线框显示,AreaLight的Z轴指向的方向即光照的方向. 用AreaLight烘焙室内灯光效果(1)创建一个空场景(2)创建Cube并缩放成扁平面后.复制C

Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machine