码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET操作Cookie

时间:2015-05-16 11:43:51      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

1.生成Cookie

public static void SetDataByCookie(string mainKey, string subKey, string value, string domain, int expireHours)
{
    var cookie = Request.Cookies[mainKey];
    if (cookie == null)
    {
        cookie = new HttpCookie(mainKey);
    }

    if (!String.IsNullOrEmpty(domain))
    {
        cookie.Domain = domain;
    }
    cookie.Expires = DateTime.Now.AddHours(expireHours);
    cookie[subKey] = value;
    Response.Headers.Add("Access-Control-Allow-Credentials", "true");

    Response.SetCookie(cookie);
}

 

2.获取Cookie

public static string GetDataByCookie(string mainKey, string subKey)
{
    if (Request.Cookies[mainKey] != null && Request.Cookies[mainKey][subKey] != null)
    {
        return Request.Cookies[mainKey][subKey];
    }
    return "";
}

 

3.关于Cookie的Domain

①设置Domain是为了跨域操作Cookie,假如本应用的Cookie名与要跨域访问的Cookie名冲突,则会访问本应用的Cookie

②localhost和直接使用IP的应用是无法设置Domain的,如 http://localhost:8081/login.aspx 、http://121.211.112.111:8081等

这就可能导致一种问题,同一台服务器上有两台未绑定域名的且不相关的网站:http://121.211.112.111:8081,http://121.211.112.111:8083

则二者的Cookie可以互相访问。

 

ASP.NET操作Cookie

标签:

原文地址:http://www.cnblogs.com/TiestoRay/p/4507575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!