主頁 > 知識庫 > ASP.NET下對cookies的操作實(shí)現(xiàn)代碼

ASP.NET下對cookies的操作實(shí)現(xiàn)代碼

熱門標(biāo)簽:電子圍欄 團(tuán)購網(wǎng)站 阿里云 Mysql連接數(shù)設(shè)置 Linux服務(wù)器 銀行業(yè)務(wù) 科大訊飛語音識別系統(tǒng) 服務(wù)器配置
復(fù)制代碼 代碼如下:

public class BsCookie
{
//操作的cookie
private HttpCookie _theCookie;
//對應(yīng)的cookie的名稱
private string _cookieName;
private bool _httpOnly = true;
/// summary>
/// 是否只允許在服務(wù)器端訪問,默認(rèn)只允許在服務(wù)端訪問
/// /summary>
public bool HttpOnly
{
get { return _httpOnly; }
set { _httpOnly = value; }
}
private double _expireMinutes;
/// summary>
/// Cookies有效的存放時(shí)間,以分鐘表示
/// /summary>
public double ExpireMinutes
{
get { return _expireMinutes; }
set { _expireMinutes = value; }
}
public BsCookie(string name,double expireMinutes)
{
_cookieName = name;
_expireMinutes = expireMinutes;
}
/// summary>
/// 讀取對應(yīng)的cookie
/// /summary>
/// param name="name">/param>
/// returns>/returns>
private HttpCookie GetCookieReq()
{
HttpRequest request = HttpContext.Current.Request;
if (request != null)
{
HttpCookie cookie = request.Cookies[_cookieName];
if (cookie != null)
{
return cookie;
}
}
return null;
}
/// summary>
/// 設(shè)置對應(yīng)的cookie
/// /summary>
/// param name="name">/param>
/// returns>/returns>
private HttpCookie GetCookieResponse()
{
HttpResponse response = HttpContext.Current.Response;
if (response != null)
{
HttpCookie cookie = response.Cookies[_cookieName];
if (cookie != null)
{
return cookie;
}
}
return new HttpCookie(_cookieName);
}
/// summary>
/// 僅設(shè)置主鍵的
/// /summary>
/// param name="name">/param>
/// param name="value">/param>
/// param name="exMinutes">/param>
public void SetCookie(string value)
{
_theCookie = GetCookieResponse();
_theCookie.Value = HttpUtility.HtmlEncode(AllCommon.Encrypt(value));
if (Math.Abs(_expireMinutes) > 1)
{
_theCookie.Expires = DateTime.Now.AddMinutes(_expireMinutes);
}
_theCookie.HttpOnly = _httpOnly;
}
/// summary>
/// 設(shè)置一組主鍵
/// /summary>
/// param name="name">/param>
/// param name="keys">/param>
/// param name="exMinutes">/param>
public void SetCookie(Hashtable keys)
{
_theCookie = GetCookieResponse();
foreach (DictionaryEntry de in keys)
{
_theCookie.Values[de.Key.ToString()] = HttpUtility.HtmlEncode(AllCommon.Encrypt(de.Value.ToString()));
}
if (Math.Abs(_expireMinutes) > 1)
{
_theCookie.Expires = DateTime.Now.AddMinutes(_expireMinutes);
}
_theCookie.HttpOnly = _httpOnly;
}
/// summary>
/// 獲取單一的cookie主鍵值
/// /summary>
/// param name="name">/param>
/// param name="exMinutes">需要延長的cookie的默認(rèn)時(shí)間/param>
/// returns>/returns>
public string GetCookie()
{
_theCookie = GetCookieReq();
if (_theCookie == null)
{
return string.Empty;
}
string thevalue = AllCommon.Decrypt(HttpUtility.HtmlDecode(_theCookie.Value));
if (thevalue.Length > 0)
{
HttpCookie serverCookie = GetCookieResponse();
if (Math.Abs(_expireMinutes) > 1)
{
serverCookie.Expires = DateTime.Now.AddMinutes(_expireMinutes);
}
}
return thevalue;
}
/// summary>
/// 獲取一組對應(yīng)的cookie值
/// /summary>
/// param name="name">/param>
/// param name="exMinutes">/param>
/// returns>/returns>
public Hashtable GetCookiesKeys()
{
_theCookie = GetCookieReq();
if (_theCookie == null)
{
return null;
}
string[] keys = _theCookie.Values.AllKeys;
if (keys.Length > 0)
{
Hashtable keyHash = new Hashtable();
foreach (string key in keys)
{
keyHash.Add(key, AllCommon.Decrypt(HttpUtility.HtmlDecode(_theCookie.Values[key])));
}
HttpCookie serverCookie = GetCookieResponse();
if (Math.Abs(_expireMinutes) > 1)
{
serverCookie.Expires = DateTime.Now.AddMinutes(_expireMinutes);
}
return keyHash;
}
return null;
}
/// summary>
/// 獲取一組里面的單一個值
/// /summary>
/// param name="keyname">/param>
/// param name="exMinutes">/param>
/// returns>/returns>
public string GetCookieKV(string keyname)
{
_theCookie = GetCookieReq();
if (_theCookie == null)
{
return string.Empty;
}
string result=AllCommon.Decrypt(HttpUtility.HtmlDecode(_theCookie.Values[keyname]));
if (result.Length > 0)
{
HttpCookie serverCookie = GetCookieResponse();
if (Math.Abs(_expireMinutes) > 1 serverCookie != null)
{
serverCookie.Expires = DateTime.Now.AddMinutes(_expireMinutes);
}
}
return result;
}
}

演示Asp.Net中對Cookie的基本操作。
復(fù)制代碼 代碼如下:

Imports System.Web.HttpContext
Public Class CookieFramework
'寫入單個Cookie
Public Shared Function WriteCookie(ByVal CookieName As String, ByVal CookieValue As String, ByVal ExpiresDate As Integer) As Boolean
Dim aCookie As New HttpCookie(CookieName)
aCookie.Value = CookieValue
aCookie.Expires = DateTime.Now.AddDays(ExpiresDate)
System.Web.HttpContext.Current.Response.Cookies.Add(aCookie)
End Function

'給Cookie集合添加子項(xiàng)
Public Shared Function WriteCookies(ByVal CookieName As String, ByVal CookieItem As String, ByVal ItemValue As String, ByVal ExpiresDate As Integer) As Boolean
Dim aCookie As HttpCookie
If Current.Request.Cookies(CookieName) Is Nothing Then
aCookie = New HttpCookie(CookieName)
Else
aCookie = Current.Request.Cookies(CookieName)
End If
aCookie.Values(CookieItem) = ItemValue
aCookie.Expires = DateTime.Now.AddDays(ExpiresDate)
System.Web.HttpContext.Current.Response.Cookies.Add(aCookie)
End Function
'讀取單個Cookie
Public Shared Function ReadCookie(ByVal CookieName As String) As String
If Current.Request.Cookies(CookieName) Is Nothing Then
Return Nothing
Else
Return Current.Request.Cookies(CookieName).Value
End If
End Function

'讀取Cookie集合中的子項(xiàng)內(nèi)容
Public Shared Function ReadCookies(ByVal CookieName As String, ByVal CookieItem As String) As String
If Current.Request.Cookies(CookieName) Is Nothing Then
Return Nothing
Else
If Current.Request.Cookies(CookieName).Values(CookieItem) Is Nothing Then
Return Nothing
Else
Return Current.Request.Cookies(CookieName).Values(CookieItem)
End If
End If
End Function
'刪除整個Cookie
Public Shared Function DeleteCookie(ByVal CookieName As String) As Boolean
Dim aCookie As New HttpCookie(CookieName)
Dim i As Integer
Dim limit As Integer = Current.Request.Cookies.Count - 1
For i = 0 To limit
aCookie = Current.Request.Cookies(i)
aCookie.Expires = DateTime.Now.AddDays(-1)
Current.Response.Cookies.Add(aCookie)
Next
End Function
'刪除Cookie集合中的子項(xiàng)
Public Shared Function DeleteCookies(ByVal CookieName As String, ByVal ItemName As String) As Boolean
Dim aCookie As HttpCookie = Current.Request.Cookies(CookieName)
aCookie.Values.Remove(ItemName)
aCookie.Expires = DateTime.Now.AddDays(1)
Current.Response.Cookies.Add(aCookie)
End Function
End Class
您可能感興趣的文章:
  • asp.net利用cookie保存用戶密碼實(shí)現(xiàn)自動登錄的方法
  • asp.net各種cookie代碼和解析實(shí)例
  • asp.net 操作cookie的簡單實(shí)例
  • ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
  • ASP.NET筆記之頁面跳轉(zhuǎn)、調(diào)試、form表單、viewstate、cookie的使用說明
  • Asp.net內(nèi)置對象之Cookies(簡介/屬性方法/基本操作及實(shí)例)
  • asp.net中的cookie使用介紹
  • asp.net中使用cookie傳遞參數(shù)的方法

標(biāo)簽:大理 棗莊 萍鄉(xiāng) 蚌埠 衡水 衢州 江蘇 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET下對cookies的操作實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266