C#中Cookie的存取操作

本文介绍了ASP.NET中Cookie的基本操作方法,包括如何保存和读取Cookie。通过使用静态方法,可以轻松设置Cookie的有效期及域,并从当前请求中获取指定名称的Cookie值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    #region Cookie的操作:Cookie的读取、Cookie的保存
    
/// <summary>
    
/// 静态方法:保存Cookie
    
/// </summary>
    
/// <param name="_name">名称</param>
    
/// <param name="_value">参数</param>
    public static void SaveCookie(Hashtable Hash, int _remberme, string _CookieName)
    {
        
string DoMain = "";
        
string[] Arr = HttpContext.Current.Request.Url.Host.Split('.');
        
for (int i = 1; i < Arr.Length; i++)
        {
            DoMain 
+= "." + Arr[i];
        }
        
if (_CookieName == "")
        {
            _CookieName 
= ConfigurationManager.AppSettings["CookieName"];
        }
        HttpCookie Cookie 
= new HttpCookie(_CookieName);
        
foreach (DictionaryEntry entry in Hash)
        {
            Cookie[entry.Key.ToString()] 
= entry.Value.ToString();
        }
        
//Cookie.Domain = ConfigurationManager.AppSettings["CookieDoMain"];
        if (_remberme == 1)
        {
            Cookie.Expires
=DateTime.UtcNow.AddDays(30);
        }
        
else
        {
            Cookie.Expires
=DateTime.UtcNow.AddDays(1);
        }
        Cookie.Domain 
= DoMain;
        HttpContext.Current.Response.Cookies.Add(Cookie);
    }

    
/// <summary>
    
/// 静态方法:读取Cookie的值
    
/// </summary>
    
/// <param name="_name"></param>
    
/// <returns></returns>
    public static string GetCookie(string _name)
    {
        HttpCookie Cookie 
= HttpContext.Current.Request.Cookies.Get(ConfigurationManager.AppSettings["CookieName"]);
        
if (Cookie != null)
        {
            
string DoMain = "";
            
string[] Arr = HttpContext.Current.Request.Url.Host.Split('.');
            
for (int i = 1; i < Arr.Length; i++)
            {
                DoMain 
+= "." + Arr[i];
            }
            Cookie.Domain 
= DoMain;
            
return Cookie[_name];
        }
        
else
        {
            
return "";
        }

    }
    
/// <summary>
    
/// 静态方法:读取Cookie的值
    
/// </summary>
    
/// <param name="_name"></param>
    
/// <returns></returns>
    public static string GetCookie(string _name,string _CookieName)
    {
        
if (_CookieName == "")
        {
            _CookieName 
= ConfigurationManager.AppSettings["CookieName"];
        }
        HttpCookie Cookie 
= HttpContext.Current.Request.Cookies.Get(_CookieName);
        
if (Cookie != null)
        {
            
string DoMain = "";
            
string[] Arr = HttpContext.Current.Request.Url.Host.Split('.');
            
for (int i = 1; i < Arr.Length; i++)
            {
                DoMain 
+= "." + Arr[i];
            }
            Cookie.Domain 
= DoMain;
            
return Cookie[_name];
        }
        
else
        {
            
return "";
        }

    }
    
#endregion

转载于:https://www.cnblogs.com/yuanjinhui123/archive/2009/05/13/1456104.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值