asp.net COOKIES需要注意的一點(diǎn)
當(dāng)從 REQUEST獲取一個(gè)COOKIES實(shí)例后,如果不重新設(shè)置Expires的情況下再次將COOKIES發(fā)送到客戶端,Expires會(huì)變成關(guān)閉頁(yè)面過期。
舉個(gè)例:
先在一個(gè)頁(yè)面里發(fā)送COOKIES
HttpCookie _currentCookie;
_currentCookie = new HttpCookie("test");
_currentCookie.Expires = DateTime.Now.AddYears(1);
Response.AppendCookie(_currentCookie);
然后再另一個(gè)頁(yè)面將它接收
HttpCookie _currentCookie;
_currentCookie = Request.Cookies["test"];
此時(shí),我們可以通過獲取并顯示出Expires過期時(shí)間。
Response.Write(_currentCookie.Expires.ToString());
照常理,我們沒有改動(dòng)這個(gè)COOKIES,獲取后原封不動(dòng)的有發(fā)送到了瀏覽器,應(yīng)該不會(huì)有什么變化。
但是實(shí)際上會(huì)發(fā)現(xiàn)一個(gè)問題
_currentCookie["test"].Expires 變成了 0001-1-1 關(guān)閉頁(yè)面后即過期。
通過以上實(shí)驗(yàn),發(fā)現(xiàn),實(shí)際上我們無法獲取COOKIES的Expires屬性,所以,在使用Response.AppendCookies的時(shí)候,如果該實(shí)例沒有重新設(shè)置Expires,則Expires會(huì)以默認(rèn)設(shè)置(頁(yè)面關(guān)閉過期)被發(fā)送,因此每次發(fā)送COOKIE如果你希望有過期時(shí)間都必須重新設(shè)置。
這個(gè)問題是我在封裝COOKIE時(shí)遇到的,雖然以前也非常經(jīng)常的用到COOKIES,但是這次因?yàn)橄敕庋b成一個(gè)獨(dú)立的類,所以在精簡(jiǎn)代碼的過程中遇到這樣的問題!
看來,不管多熟悉的東西,它總會(huì)有讓人陌生的一面,需多多學(xué)習(xí)!
當(dāng)然,這是在.NET2.0 C#中,似乎1.1中是可以獲取REQUEST過來的COOKIE的Expires屬性的。
- asp.net下cookies的丟失和中文亂碼
- asp.net清空Cookie的兩種方法
- asp.net cookie的操作,寫入、讀取與操作
- asp.net Cookie跨域、虛擬目錄等設(shè)置方法
- ASP.NET Cookie 操作實(shí)現(xiàn)
- asp.net Cookie操作類
- asp.net下cookies操作完美代碼
- asp.net通過js實(shí)現(xiàn)Cookie創(chuàng)建以及清除Cookie數(shù)組的代碼
- asp.net(C#)跨域及跨域?qū)慍ookie問題
- asp.net中的cookie使用介紹
- asp.net關(guān)于Cookie跨域(域名)的問題
- Asp.net內(nèi)置對(duì)象之Cookies(簡(jiǎn)介/屬性方法/基本操作及實(shí)例)
- asp.net Cookie值中文亂碼問題解決方法
- asp.net中使用cookie與md5加密實(shí)現(xiàn)記住密碼功能的實(shí)現(xiàn)代碼
- ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
- asp.net利用cookie保存用戶密碼實(shí)現(xiàn)自動(dòng)登錄的方法
- ASP.NET中Cookie的使用方法
相關(guān)文章
Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)實(shí)例
這篇文章主要介紹了Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)的方法,實(shí)例分析了Asp.net配合easyui返回json數(shù)據(jù)時(shí)出現(xiàn)的問題及解決方法,非常具有實(shí)用價(jià)值的技巧,需要的朋友可以參考下2014-12-12Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序
這篇文章主要介紹了Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11gridview+objectdatasource+aspnetpager整合實(shí)例
gridview+objectdatasource+aspnetpager整合實(shí)例,需要的朋友可以參考一下2013-04-04使用ASP.NET模板生成HTML靜態(tài)頁(yè)面的五種方案
使用ASP.NET模版生成HTML靜態(tài)頁(yè)面并不是難事,主要是使各個(gè)靜態(tài)頁(yè)面間的關(guān)聯(lián)和鏈接如何保持完整。本文介紹了使用ASP.NET模版生成HTML靜態(tài)頁(yè)面的五種方案2011-11-11ASP.NET插件uploadify批量上傳文件完整使用教程
這篇文章主要為大家詳細(xì)介紹了ASP.NET插件uploadify批量上傳文件完整使用教程,感興趣的小伙伴們可以參考一下2016-07-07ASP.NET MVC API 接口驗(yàn)證的示例代碼
本篇文章主要介紹了ASP.NET MVC API 接口驗(yàn)證的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Windows Server 2012 R2 Standard搭建ASP.NET Core環(huán)境圖文教程
這篇文章主要介紹了Windows Server 2012 R2 Standard搭建ASP.NET Core環(huán)境圖文教程,需要的朋友可以參考下2016-07-07asp.net下創(chuàng)建、查詢、修改帶名稱空間的 XML 文件的例子
asp.net下創(chuàng)建、查詢、修改帶名稱空間的 XML 文件的例子...2007-04-04