c# 對cookies(增、刪、改、查)的操作方法
-----------------------------------------------------操作-----------------------------------------------------------
1.添加cookies(用cookies方式去做sso,用戶信息保存,修改都會依賴cookies)
#region##添加cookeis
///<summary>
/// 添加cookeis
///</summary>
public void AddCookies()
{
HttpCookie cookies = new HttpCookie("Porschev");
cookies["name"] = "Zhong Wei";
cookies["sex"] = "1";
cookies.Expires = DateTime.Now.AddMinutes(20);
Response.Cookies.Add(cookies);
}
#endregion
添加cookies一般不會有人出錯的。。。記得添加Expires就行
2.修改cookies( 在程序中難免會操作,對用戶信息的修改,更新數(shù)據(jù)庫后,也會修改cookies,為了修改后的顯示)
方法一:
#region##修改cookies
///<summary>
/// 修改cookies
///</summary>
public void ModCookies()
{
HttpCookie cookies = Request.Cookies["Porschev"];
cookies["name"] = "wilson Z";
}
#endregion
新建個測式頁。。再取cookies中的name,結(jié)果:wilson Z;
這是這次項(xiàng)目中遇到的“杯具”事件之一,當(dāng)這樣修改cookies時,在更新方法中再取這個名為Porschev的cookies,
name的值還為Zhong Wei而非wilson Z,頁面顯示也不對(己排除頁面緩存原因,更新也確實(shí)沒有成功)
修改方法一:
#region##修改cookies
///<summary>
/// 修改cookies
///</summary>
public void ModCookies()
{
HttpCookie cookies = Request.Cookies["Porschev"];
cookies["name"] = "wilson Z";
//加上下面一句
Response.Cookies["Porschev"].Expires = DateTime.Now.AddMinutes(-1);
}
#endregion
再次測式,結(jié)果正確,取出name的值為:wilson Z,頁面顯示也正確
自己理解:得讓以前存入過期時間為20min的cookies失效
3.得到cookies (這個最簡單,為求方法完整,還是寫上吧)
#region##得到cookies
///<summary>
/// 得到cookies
///</summary>
public void GetCookies()
{
HttpCookie cookies = Request.Cookies["Porschev"];
string name = cookies["name"]; //通過key取出對應(yīng)value,多key同理取
}
#endregion
4.刪除cookies (刪除cookies網(wǎng)上有很多方法,但是刪除不是都能管用)
方法一:(最常用的一個刪除cookies方法)
#region##刪除cookies
///<summary>
/// 刪除cookies
///</summary>
public void DelCookeis()
{
if (Request.Cookies["Porschev"] != null)
{
HttpCookie cookies = new HttpCookie("Porschev");
cookies.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookies);
}
}
#endregion
在項(xiàng)目中測式,刪除部分cookies失敗,很無語,于是換一種方法
#region##刪除cookies
///<summary>
/// 刪除cookies
///</summary>
public void DelCookeis()
{
foreach (string cookiename in Request.Cookies.AllKeys)
{
HttpCookie cookies = Request.Cookies[cookiename];
if (cookies != null)
{
cookies.Expires = DateTime.Today.AddDays(-1);
Response.Cookies.Add(cookies);
Request.Cookies.Remove(cookiename);
}
}
}
#endregion
測式:刪除成功
自己理解:方法一只能刪除提當(dāng)前Response中的cookies,不對完成刪除掉客端的cookies,用遍歷cookies的方式可以
方法一定對,己經(jīng)過項(xiàng)目實(shí)際驗(yàn)證,觀點(diǎn)不一定正確,如理解有誤,請各位指正?。?/P>
- C#基于WebBrowser獲取cookie的實(shí)現(xiàn)方法
- C#使用webbrowser的常見用法實(shí)例
- C#的WEBBROWSER與JS交互小結(jié)
- C#之WinForm WebBrowser實(shí)用技巧匯總
- C#的WebBrowser操作frame實(shí)例解析
- 淺析c#中WebBrowser控件的使用方法
- 解決C#中WebBrowser的DocumentCompleted事件不執(zhí)行的實(shí)現(xiàn)方法
- 在C#中 webbrowser的使用心得
- C#的WebBrowser的操作與注意事項(xiàng)介紹
- c# 在WebBrowser中用SendMessage模擬鼠標(biāo)點(diǎn)擊
- C#中Request.Cookies 和 Response.Cookies 的區(qū)別分析
- C# HttpClient Cookie驗(yàn)證解決方法
- C#清除WebBrowser中Cookie緩存的方法
相關(guān)文章
C#獲取文件名和文件路徑的兩種實(shí)現(xiàn)方式
這篇文章主要介紹了C#獲取文件名和文件路徑的兩種實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07C#組件系列 你值得擁有的一款Excel處理神器Spire.XLS
又一款Excel處理神器Spire.XLS,這篇文章主要為大家詳細(xì)介紹了第三方組件Spire.XLS,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09C#實(shí)現(xiàn)WPS文件轉(zhuǎn)PDF格式的方法示例
這篇文章主要介紹了C#實(shí)現(xiàn)WPS文件轉(zhuǎn)PDF格式的方法,涉及C#針對office組件的相關(guān)引用與操作技巧,需要的朋友可以參考下2017-11-11基于C#實(shí)現(xiàn)一個溫濕度監(jiān)測小工具
這篇文章主要為大家詳細(xì)介紹了如何基于C#實(shí)現(xiàn)一個溫濕度監(jiān)測小工具,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下2023-01-01Entity Framework主從表數(shù)據(jù)加載方式
這篇文章介紹了Entity Framework主從表數(shù)據(jù)加載方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06C#實(shí)現(xiàn)子類與父類的相互轉(zhuǎn)換
這篇文章主要介紹了C#實(shí)現(xiàn)子類與父類的相互轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05