webform中四种状态机制 application,session,cookie,viewstate
2009-06-28 02:49
393 查看
application
我们可以在Global.asax的Application_Start函数中存储数据:
void Application_Start(object src, EventArgs e)
{
int exp = 0;
// population of dataset from ADO.NET query not shown
// Cache DataSet reference
Application["Experiment"] = exp;
}
现在你可以在任意页面下使用它:
private void Page_Load(object src, EventArgs e)
{
int expr = Int32.Parse((Application["Experiment"]));
}
基于程序级别的状态,所以信息是所有用户共享的
当站点重新启动时信息就会丢失,
对所有共享的信息(web中)进行写操作的时候都要注意对于锁的应用.
private void Page_Load(object sender, System.EventArgs e)
{
Application.Lock();
int expr = Int32.Parse((Application["Experiment"]));
if (expr>=something)
{
//do something
}
Else
{
//do something else
}
Application.UnLock();
//Some other thing goes here
}
Session
为用户会话状态保存信息的机制,
Session[“Value”] = abc;
值得注意的是,在默认状况下,当cookie不可用时,session也会失效,为了避免这种状况发生,可以在config文件中设置:
<configuration>
<system.web>
<sessionState cookieless="true" />
</system.web>
</configuration>
cookie
protected void Page_Load(Object sender, EventArgs E)
{
int expr = 0;
if (Request.Cookies["Expr"] == null)
{
// "Expr" cookie not set, set with this response
HttpCookie cokExpr = new HttpCookie("Expr");
cokExpr.Value = exprTextBox.Text;
Response.Cookies.Add(cokExpr);
expr = Convert.ToInt32(exprTextBox.Text);
}
else
{
// use existing cookie value
expr = Convert.ToInt32(Request.Cookies["Expr"].Value);
}
// use expr to customize page
}
viewstate 为用来保存本页控件状态而存在的一种信息,被保存在html的一个隐藏的<input>标签中,
由于这些状态信息每次通信都要来回传递,加重了网络压力,建议只在本地网络的应用中使用
我们可以在Global.asax的Application_Start函数中存储数据:
void Application_Start(object src, EventArgs e)
{
int exp = 0;
// population of dataset from ADO.NET query not shown
// Cache DataSet reference
Application["Experiment"] = exp;
}
现在你可以在任意页面下使用它:
private void Page_Load(object src, EventArgs e)
{
int expr = Int32.Parse((Application["Experiment"]));
}
基于程序级别的状态,所以信息是所有用户共享的
当站点重新启动时信息就会丢失,
对所有共享的信息(web中)进行写操作的时候都要注意对于锁的应用.
private void Page_Load(object sender, System.EventArgs e)
{
Application.Lock();
int expr = Int32.Parse((Application["Experiment"]));
if (expr>=something)
{
//do something
}
Else
{
//do something else
}
Application.UnLock();
//Some other thing goes here
}
Session
为用户会话状态保存信息的机制,
Session[“Value”] = abc;
值得注意的是,在默认状况下,当cookie不可用时,session也会失效,为了避免这种状况发生,可以在config文件中设置:
<configuration>
<system.web>
<sessionState cookieless="true" />
</system.web>
</configuration>
cookie
protected void Page_Load(Object sender, EventArgs E)
{
int expr = 0;
if (Request.Cookies["Expr"] == null)
{
// "Expr" cookie not set, set with this response
HttpCookie cokExpr = new HttpCookie("Expr");
cokExpr.Value = exprTextBox.Text;
Response.Cookies.Add(cokExpr);
expr = Convert.ToInt32(exprTextBox.Text);
}
else
{
// use existing cookie value
expr = Convert.ToInt32(Request.Cookies["Expr"].Value);
}
// use expr to customize page
}
viewstate 为用来保存本页控件状态而存在的一种信息,被保存在html的一个隐藏的<input>标签中,
由于这些状态信息每次通信都要来回传递,加重了网络压力,建议只在本地网络的应用中使用
相关文章推荐
- .NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制
- .NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制
- (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState
- ASP.NET中的状态保持的方式(Cookie,Session,ViewState,Application)
- .NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制
- ASP.NET状态管理 APPlication,Session,Cookie和ViewState等对象用法和区别
- ASP.NET状态管理 APPlication,Session,Cookie和ViewState等对象用法和区别
- asp.net状态保持viewstate,session,cookie,application
- NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制 .
- asp.net提供了四种状态类型:application,session,cookie,view
- C#-WebForm-★内置对象简介★Request-获取请求对象、Response相应请求对象、Session全局变量(私有)、Cookie全局变量(私有)、Application全局公共变量、ViewState
- NET中Application,Session,Cookie,ViewState,Cache,Hidden 缓存机制
- ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等) .
- ASP.NET状态管理 APPlication,Session,Cookie和ViewStat用法
- Application, Session, Cookie, Viewstate, Cache对象用法和区别(转)
- Application/Session/Cookie/viewstate/Cache
- Application, Session, Cookie, Viewstate, Cache对象用法和区别
- Application, Session, Cookie, Viewstate, Cache对象用法、作用域和区别
- APPlication,Session,Cookie,ViewState和Cache
- 转贴:ASP.NET中Application,Session,Cookie和ViewState等对象用法