WebForm的状态管理

当浏览器于服务器交换资料时,可以用以下方式将资料储存,以达到资料或状态的存取
[list]
[*]Hidden Field (控件)
[*]ViewState (控件)
[*]Session (服务器端)
[*]Cookie (客户端)
[*]Cache (服务器端)
[*]Application (服务器端)
[*]QueryString (网址字符串)
[/list]

Cookie是利用客户端的浏览器来储存资料.它的存取方式比较特别,存取操作都是在网页的head资料交换时.
当浏览器向服务器发出请求时,会检查是否有与此服务器端匹配的Cookie,如果有,则发出Cookie.
服务器在接受浏览器的请求后,处理完网页回传给浏览器时,会将设定后的Cookie发回.

Cookie的生存周期有两种:
[list]
[*] Session Cookie:不指定Cookie的Expires,只要所有浏览器都被关闭后,Cookie就会被自动清除.
[*] Persistence Cookie:指定Cookie的Expires,则Cookie可保存一定时间,不论浏览器是否被关闭.
[/list]

Cookie的存取方式是不同的,需要注意
[list]
[*] 设定Cookie: Request.Cookies
[*] 取得Cookie: Response.Cookies
[/list]

推荐一款Cookie查看器
[url]http://www.nirsoft.net/utils/iecookies.html[/url]



//Session Cookie
//获取Cookie
if (Request.Cookies["Time"] != null)
{
Response.Write(Request.Cookies["Time"].Value + "<br/>");
}

//设定Cookie
Response.Cookies["Time"].Value = DateTime.Now.ToString();
Response.Write(DateTime.Now.ToString() + "<br/>");

//Persistent Cookie
//当Cookies["Value"]不存在时,设定它的值,保存时间为1分钟
if (Request.Cookies["Value"] == null)
{
Response.Cookies["Value"].Value = DateTime.Now.Second.ToString();
Response.Cookies["Value"].Expires = DateTime.Now.AddMinutes(1);
}
else
{
Response.Write(Request.Cookies["Value"].Value + "<br/>");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值