• 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)。

  1.   可以让ASPNET_STATE服务来保存session。(进程外session1)
  2.   可以让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的更多相关文章

  1. (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState

    WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修      改较少并且是全局至少大部分 ...

  2. cookie,session,sessionid

    cookie,session,sessionid http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecooki ...

  3. Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期

    servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...

  4. 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法

    单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...

  5. 会话Cookie及session的关系(Cookie & Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  6. cookie,session,token的定义及区别

    参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...

  7. Java web学习 Cookie&&Session

    cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...

  8. Cookie&Session(会话技术)

    一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...

  9. Cookie Session和自定义分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

随机推荐

  1. OpenCV中IplImage/CvMat/Mat转化关系

    原文链接:http://www.cnblogs.com/summerRQ/articles/2406109.html 如对内容和版权有何疑问,请拜访原作者或者通知本人. opencv中常见的与图像操作 ...

  2. sql server 查询数据判断为空

    and xxx is NOT null and xxx is null

  3. 去掉二级页面 tabs 菜单, 修改返回按钮

    imports: [ /*引入的模块 依赖的模块*/ BrowserModule, ComponentsModule, IonicModule.forRoot(MyApp,{ tabsHideOnSu ...

  4. android自定义dialog布局

    dialog使用系统自带的有时候不是很美观,就想要自己来设计一个dialog界面,以下就是可以设计的dialog界面: public class CustomDialog extends Dialog ...

  5. php第五节课

    封装 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  6. [luogu2587 ZJOI2008] 泡泡堂 (贪心)

    传送门 Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛 ...

  7. Problem 52

    Problem 52 It can be seen that the number, 125874, and its double, 251748, contain exactly the same ...

  8. Problem 22

    Problem 22 Using names.txt (https://projecteuler.net/problem=22)(right click and 'Save Link/Target A ...

  9. Jquery-自定义表单验证

    jQuery自定义表单验证

  10. 《团队名称》第八次团队作业:Alpha冲刺

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 (1)掌握软件测试基础技术(2)学习迭代式增量软件开发过程(Scrum) ...