cookie,session,viewstate
- viewstate的原理是隐藏域。
protected void Page_Load(object sender, EventArgs e)
{
ViewState["v1"] = "hello,world";
}
- cookie是保存在浏览器的,一种是保存在缓存中,一种是保存在硬盘中。(保存在硬盘中的需要设置cookie的expires属性)
string strName = Request.Form["txtUName"];
string strPwd = Request.Form["txtPwd"];
if (strName == "aaaaaa" && strPwd == "cccccc")
{
//新建 包含了 登录用户名 的cookie对象
HttpCookie cook = new HttpCookie("uInfo", strName);
//设置cook的失效时间为两天之后(保存在浏览器所在电脑的硬盘中了)
cook.Expires = DateTime.Now.AddDays();
//设置一个cook用来保存cook失效时间
HttpCookie cookTime = new HttpCookie("time", DateTime.Now.AddDays().ToString());
//将 cookie对象加入响应流中的cookie集合
Response.Cookies.Add(cook);
Response.Cookies.Add(cookTime);
Response.Redirect("Default.aspx");//重定向 302
}
- session保存在服务器上。利用了保存在浏览器缓存中的cookie技术。session可以保存任何对象,可以在webconfig里设置session的在服务器上失效的时间
<system.web>
<compilation debug="true" targetFramework="4.0" />
<sessionState timeout="60"/>
</system.web>
可以自己写一个sessionmanager类来模拟session的技术(用cookie存sessionID)。
- 可以让ASPNET_STATE服务来保存session。(进程外session1)
- 可以让session保存在数据库里,用aspnet_regsql.exe(进程外session2)
- application
保存在服务器端,一个浏览器设置了,其他的浏览器也都可以访问。(相当于公共厕所)
protected void Button1_Click(object sender, EventArgs e)
{
Application.Lock();
Application["name"] = TextBox1.Text.Trim();
Application.UnLock();
}
protected void Page_Load(object sender, EventArgs e)
{
Application.Lock();
Response.Write("god welcome you mr:" + Application["name"]);
Application.UnLock();
}
application可以在服务器端做一些全局的配置。
可以给项目添加全局应用程序文件(*.asax),在application_start()方法里写一个application值,供将来全局的访问。
- form的runat="server"属性。有这个属性的时候,在生产的HTML代码里会有一个_VIEWSTATE的隐藏域。在后台就可以通过IsPostBack来判断是否是第一次访问。
cookie,session,viewstate的更多相关文章
- (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState
WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修 改较少并且是全局至少大部分 ...
- cookie,session,sessionid
cookie,session,sessionid http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecooki ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法
单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...
- 会话Cookie及session的关系(Cookie & Session)
会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...
- cookie,session,token的定义及区别
参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...
- Java web学习 Cookie&&Session
cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...
- Cookie&Session(会话技术)
一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...
- Cookie Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- Mac下php连接mysql数据库失败解决办法
通过phpmyadmin连接mysql成功,但是通过php连接数据库失败,执行如下php语句 ? 1 @mysql_connect("localhost","root&q ...
- java web设置全局context参数
先在生成的web.xml文件中配置全局参数变量(Parameter:参数) <web-app> <context-param> 设置parameter(参数)的识别名字为adm ...
- es7 class的写法
再看vue-router源码的时候(代码链接)看到这样的代码片段: export default class VueRouter { app: any; apps: Array<any>; ...
- BZOJ 3036: 绿豆蛙的归宿 期望 + 拓扑排序
随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿.给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有K条离 ...
- [转载]ext4文件系统的delalloc选项造成单次写延迟增加的分析
转载http://www.cnblogs.com/cobbliu/p/5603472.html 最近我们的服务进程遇到kill -15后处于Z的状态,变为了僵尸进程,经过/proc/{thread_i ...
- nyoj113-字符串替换
字符串替换 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 编写一个程序实现将字符串中的所有"you"替换成"we" 输入 输入包 ...
- 45.mapping建立、修改
主要知识点 1.如何建立索引 2.修改mapping 3.测试mapping 一.如何建立索引 语法 PUT /website { "mappings": { &q ...
- js获取数组中任意一项
1.获取数组任一项 在一些实际应用场景中,会要求实现一个随机的需求,随机获取某一项,来展示出来,都知道要通过javaScript的Math.random()方法来实现,这里我在Array的原型上添加了 ...
- 【习题4-1 Uva1589】Xiangqi
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 车是可以被吃掉的... 注意这个情况. 其他的模拟即可. [代码] #include <bits/stdc++.h> u ...
- mysql优化sql语句
mysql优化sql语句 常见误区 www.2cto.com 误区1: count(1)和count(primary_key) 优于 count(*) 很多人为了统计记录条数,就使 ...