asp.net之状态管理分类
2007-12-13 10:00
441 查看
视图状态是在页面内的
cookie而abc.aspx?page=1&id=5;
服务器端的状态管理
(Application)应用程序状态,是一个全局的状态
会话状态(session)
数据库
对于应用程序状态,位于应用程序根目录下(虚拟目录,和虚拟目录的状态,一个虚拟目录也可以当成一个应用程序根目录 一般是 Gloabal.asax),用户不可以浏览(它没有用户界面).不响应页面请求.
具体的实例:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
namespace WebApplication1
//default.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebApplication1
//chat.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebApplication1
//global.asax
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
namespace WebApplication1
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
Application["user"] = 0;
}
protected void Application_End(object sender, EventArgs e)
{
Application.Lock();
Application["user"] = (int)Application["user"] - 1;
Application.UnLock();
}
}
}
解果截图:---抱歉 不知道该怎么上传,传了几次都不可以.这里我们省略了验证部分
缺点:Vs2005的上述代码对浏览器的关闭没有反应,怎么弄?
接下来我们说说Session
它与浏览器同在,保存在内存中,有生命周期(timeout设定周期,一般是20min),所以它可以强制的终止,session.abandon()
赋值:
Session["var_name"]=var_name;
Var_name=Session{"var_name"};
常用属性
SessionID
IsNewSession
Timeout
常用方法
Session.Abandon();//放弃这个Session
Session.Removeall();//把所有的Session都清空掉
Session.Remove("a");//把含有a的session都给remove掉
Ada("")//有加的操作
接下来我们用一个用户名和密码的传递来说明
viewState的特点
信息作为页面内往返时,ViewState工作
信息作为隐藏域进行存储
页面存在,ViewState就存在
//它没有自动过期的问题,这是和Session的区别之一,如果录入成绩的时候,可以防止过期,这是优点
Cookie的特点
信息保存在客户端
生命周期可以自行设定
数据存储容量有限制(小于4096B)
浏览器可能不支持
像一些投票,我们只要把Cookie给删除,就可以投票投好多次呢,因为它用来验证谁的IP是放在本地的
把表的内容放入到数据库里---(买书的购物车)
cookie而abc.aspx?page=1&id=5;
服务器端的状态管理
(Application)应用程序状态,是一个全局的状态
会话状态(session)
数据库
对于应用程序状态,位于应用程序根目录下(虚拟目录,和虚拟目录的状态,一个虚拟目录也可以当成一个应用程序根目录 一般是 Gloabal.asax),用户不可以浏览(它没有用户界面).不响应页面请求.
具体的实例:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
namespace WebApplication1
//default.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebApplication1
//chat.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebApplication1
//global.asax
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
namespace WebApplication1
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
Application["user"] = 0;
}
protected void Application_End(object sender, EventArgs e)
{
Application.Lock();
Application["user"] = (int)Application["user"] - 1;
Application.UnLock();
}
}
}
解果截图:---抱歉 不知道该怎么上传,传了几次都不可以.这里我们省略了验证部分
缺点:Vs2005的上述代码对浏览器的关闭没有反应,怎么弄?
接下来我们说说Session
它与浏览器同在,保存在内存中,有生命周期(timeout设定周期,一般是20min),所以它可以强制的终止,session.abandon()
赋值:
Session["var_name"]=var_name;
Var_name=Session{"var_name"};
常用属性
SessionID
IsNewSession
Timeout
常用方法
Session.Abandon();//放弃这个Session
Session.Removeall();//把所有的Session都清空掉
Session.Remove("a");//把含有a的session都给remove掉
Ada("")//有加的操作
接下来我们用一个用户名和密码的传递来说明
viewState的特点
信息作为页面内往返时,ViewState工作
信息作为隐藏域进行存储
页面存在,ViewState就存在
//它没有自动过期的问题,这是和Session的区别之一,如果录入成绩的时候,可以防止过期,这是优点
Cookie的特点
信息保存在客户端
生命周期可以自行设定
数据存储容量有限制(小于4096B)
浏览器可能不支持
像一些投票,我们只要把Cookie给删除,就可以投票投好多次呢,因为它用来验证谁的IP是放在本地的
把表的内容放入到数据库里---(买书的购物车)
相关文章推荐
- ASP.NET状态管理
- ASP.NET温故而知新学习系列之ASP.NET中的状态—基于服务器端的状态管理Session(二)
- Asp.NET系统状态与对象管理
- ASP.NET状态管理(包括客户端和服务端)
- ASP.NET的状态管理
- ASP.NET的状态管理
- ASP.NET 状态管理(Application)
- 2010.05.23 学习asp.net对象和状态管理
- Asp.net的状态管理(1)--(C#)
- 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
- 编程高手 ASP.NET 状态管理
- ASP.NET 状态管理(cookie、Session)
- 【C#.NET】ASP.NET状态管理之一:Cookie
- ASP.NET状态管理
- Asp.net 基础9(状态管理之Session,实例购物车简单代码)
- ASP.NET状态管理之二:Session
- ASP.NET状态管理策略
- ASP.NET状态管理之四(暂存状态HttpContext.Items)
- ASP.NET状态管理之七(其他物理数据存放媒体)
- ASP.NET中的状态管理