c#和net存取cookies操作示例
cookies的創(chuàng)建:
在客戶端創(chuàng)建一個username的cookies,其值為oneday,有效期為1天.
方法1:
Response.Cookies["username"].Value="admin";
Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);
方法2:
System.Web.HttpCookie newcookie=new HttpCookie("username");
newcookie.Value="oneday";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);
創(chuàng)建帶有子鍵的cookies:
System.Web.HttpCookie newcookie=new HttpCookie("user");
newcookie.Values["username"]="admin";
newcookie.Values["password"]="admin";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);
cookies的讀取:
無子鍵讀取:
if(Request.Cookies["username"]!=null)
{
Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));
}
有子鍵讀取:
if(Request.Cookies["user"]!=null)
{
Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));
Response.Write(Server.HtmlEncode(Request.Cookies["user"]["password"].Value));
using System;
using System.Data;
using System.Configuration;
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;
public class Cookie
{
/// <summary>
/// Cookies賦值
/// </summary>
/// <param name="strName">主鍵</param>
/// <param name="strValue">鍵值</param>
/// <param name="strDay">有效天數</param>
/// <returns></returns>
public bool setCookie(string strName, string strValue, int strDay)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
//Cookie.Domain = ".xxx.com";//當要跨域名訪問的時候,給cookie指定域名即可,格式為.xxx.com
Cookie.Expires = DateTime.Now.AddDays(strDay);
Cookie.Value = strValue;
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 讀取Cookies
/// </summary>
/// <param name="strName">主鍵</param>
/// <returns></returns>
public string getCookie(string strName)
{
HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName];
if (Cookie != null)
{
return Cookie.Value.ToString();
}
else
{
return null;
}
}
/// <summary>
/// 刪除Cookies
/// </summary>
/// <param name="strName">主鍵</param>
/// <returns></returns>
public bool delCookie(string strName)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
//Cookie.Domain = ".xxx.com";//當要跨域名訪問的時候,給cookie指定域名即可,格式為.xxx.com
Cookie.Expires = DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
}
示例:
Cookie Cookie = new Cookie();
Cookie.setCookie("name", "aaa",1);//賦值
Cookie.getCookie("name");//取值
Cookie.delCookie("name");//刪除
注意:當Cookie存中文出現(xiàn)亂碼,則在存放時給中文編碼,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),讀取時解碼即可
另外:只要不給cookie設置過期時間,cookie在瀏覽器關閉的時候自動失效
using System;
using System.Data;
using System.Configuration;
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;
public class Cookie
{
/// <summary>
/// Cookies賦值
/// </summary>
/// <param name="strName">主鍵</param>
/// <param name="strValue">鍵值</param>
/// <param name="strDay">有效天數</param>
/// <returns></returns>
public bool setCookie(string strName, string strValue, int strDay)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
//Cookie.Domain = ".xxx.com";//當要跨域名訪問的時候,給cookie指定域名即可,格式為.xxx.com
Cookie.Expires = DateTime.Now.AddDays(strDay);
Cookie.Value = strValue;
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 讀取Cookies
/// </summary>
/// <param name="strName">主鍵</param>
/// <returns></returns>
public string getCookie(string strName)
{
HttpCookie Cookie = System.Web.HttpContext.Current.Request.Cookies[strName];
if (Cookie != null)
{
return Cookie.Value.ToString();
}
else
{
return null;
}
}
/// <summary>
/// 刪除Cookies
/// </summary>
/// <param name="strName">主鍵</param>
/// <returns></returns>
public bool delCookie(string strName)
{
try
{
HttpCookie Cookie = new HttpCookie(strName);
//Cookie.Domain = ".xxx.com";//當要跨域名訪問的時候,給cookie指定域名即可,格式為.xxx.com
Cookie.Expires = DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
return true;
}
catch
{
return false;
}
}
}
示例:
Cookie Cookie = new Cookie();
Cookie.setCookie("name", "aaa",1);//賦值
Cookie.getCookie("name");//取值
Cookie.delCookie("name");//刪除
注意:當Cookie存中文出現(xiàn)亂碼,則在存放時給中文編碼,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),讀取時解碼即可
另外:只要不給cookie設置過期時間,cookie在瀏覽器關閉的時候自動失效
- C#基于cookie實現(xiàn)的購物車功能
- C#基于WebBrowser獲取cookie的實現(xiàn)方法
- C#中Cookie之存儲對象
- C#自定義簡化cookie類實例
- C#中Request.Cookies 和 Response.Cookies 的區(qū)別分析
- C# javascript 讀寫Cookie的方法
- C#中的cookie編程簡單實例與說明
- c# 獲取CookieContainer的所有cookies函數代碼
- 基于C#后臺調用跨域MVC服務及帶Cookie驗證的實現(xiàn)
- c# 對cookies(增、刪、改、查)的操作方法
- C# HttpClient Cookie驗證解決方法
- asp.net(C#)跨域及跨域寫Cookie問題
- c# .net在WEB頁中的COOKIES設置技巧
- 總結C#網絡編程中對于Cookie的設定要點
相關文章
C# 并發(fā)控制框架之單線程環(huán)境下實現(xiàn)每秒百萬級調度
本文介紹了一款專為工業(yè)自動化及機器視覺開發(fā)的C#并發(fā)流程控制框架,通過模仿Go語言并發(fā)模式設計,支持高頻調度及復雜任務處理,已在多個項目中驗證其穩(wěn)定性和可靠性2024-10-10

