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协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- .NET Core & EntityFrameworkCore
前言 .NET Core 相比于 .NET Fromework 有跨平台.轻量化且开源的优势. 在使用 EntityFrameworkCore 的时候也遇到了很多问题,至于网络上的教程嘛...大部分都 ...
- css3基础篇三
CSS3 文本阴影 在 CSS3 中,text-shadow 可向文本应用阴影. 您能够规定水平阴影.垂直阴影.模糊距离,以及阴影的颜色: 实例 向标题添加阴影: h1 { text-shadow: ...
- js-undefinde的一点延伸
前面写过一篇js中变量定义的问题:Js中判断变量存不存在的问题 本文再补充下,变量声明未初始化的情况,代码: <script> var a; alert(a==undefined)//tr ...
- 25-Ubuntu-文件和目录命令-其他命令-重定向
重定向 Linux允许将命令执行结果重定向到一个文件. 将本应显示到终端上的内容输出或追加到指定文件中. 重定向命令 含义 > 表示输出,会覆盖原有文件. >> 表示追加,会将内容追 ...
- Django F查询Q查询Only与Defel
F/Q查询 测试表 from django.db import models # Create your models here. class MyCharField(models.Field): d ...
- Bamboo Django Celery定时任务和时间设置
1.Celery加入定时任务 Celery除了可以异步执行任务之外,还可以定时执行任务.在实例代码的基础上写个测试方法: 1 #coding:utf-8 2 from celery.task.sche ...
- Java异常以及继承的一些问题
Java异常以及继承的一些问题 http://blog.csdn.net/hguisu/article/details/6155636 https://www.cnblogs.com/skywang1 ...
- linux 中,mysql数据库备份操作
1.新建一个sh脚本(可以先建一个txt文本,然后改为sh文件). 代码如下: #!/bin/bash #设置mysql备份目录 folder=/**/** cd $folder day=`date ...
- python类中属性逗号引发的类型改变
不注意点了个逗号引发了类型改变 [shangbl@newsvn ~]$ cat test.py class AB1: a="a" class AB12: a="a&quo ...
- Codeforces 816C/815A - Karen and Game
传送门:http://codeforces.com/contest/816/problem/C 本题是一个模拟问题. 有一个n×m的矩阵.最初,这个矩阵为零矩阵O.现有以下操作: a.行操作“row ...