首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

一個通用的 .NET Cookie 操作類別

     編輯:關於ASP.NET

背景

多角色電商系統 (買家、賣家、代理商、管理員等) 需建立不同域名、不同內容的 Cookie。重複撰寫 Cookie 程式碼冗長且易出錯,故封裝通用類別。

核心程式碼

// 設定 Cookie
public void SetCookies(string domain, string type, XieGou.XGMap map) {
    HttpCookie cookie = new HttpCookie(type);
    DateTime dt = DateTime.Now;
    TimeSpan ts = new TimeSpan(1,0,0,0); // 有效 1 天
    cookie.Expires = dt.Add(ts);
    cookie.Domain = domain;
    for (int i = 0; i < map.Size(); i++) {
        cookie.Values.Add(map.GetTag(i), map.GetValue(i).ToString());
    }
    HttpContext.Current.Response.AppendCookie(cookie);
}

// 讀取 Cookie
public string GetCookies(string type, string name) {
    if (HttpContext.Current.Request.Cookies[type] != null) {
        if (HttpContext.Current.Request.Cookies[type].Values[name] != null) {
            return HttpContext.Current.Request.Cookies[type].Values[name].ToString();
        }
    }
    return "0";
}

使用範例

XieGou.XGMap map = new XGMap();
map.Add("shopid", shop.Id.ToString());
map.Add("shopname", shop.Name);
func.SetCookies(".shopxg.com", "shopxg_namespace", map);

優點

  • 統一管理 Cookie 名稱、域名、到期時間。
  • 配合 Map 類別動態傳遞鍵值對,減少重複程式碼。
  • 支援多域名部署 (如 .domain.com 共享 Cookie)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved