如何避免我的asp.net应用程序的重复cookie

时间:2014-07-25 11:35:06

标签: javascript asp.net cookies

我正在使用客户端cookie来携带数据(字符串),这有助于在用户重新打开浏览器时使用相同的数据。 我担心有多个cookie在同一个网址上创建了相同的名称(仅限用户感觉) 前网址: - http://google.com/testapplication

但是用户正在输入不区分大小写的url,如下所示。

  1. TestApplication
  2. TESTApplication
  3. 用户界面没有区别,但创建了内部不同的Cookie。有人可以帮我解决这些重复问题。

    由于 帕

1 个答案:

答案 0 :(得分:0)

Cookie名称对于某些浏览器(例如Chrome和FireFox)区分大小写。

为了避免这种情况,您应该使用单个帮助方法来创建cookie,以便cookie名称在您的站点中保持一致。

例如,

public class CookieHelper
{
    public static void SetCookie(string cookieName, string cookieValue, int days)
    {
        cookieName = cookieName.ToLower();
        var cookie = new HttpCookie(cookieName)
        {
            Value = cookieValue,
            Expires = DateTime.Now.AddDays(days)
        };

        HttpContext.Current.Response.Cookies.Add(cookie);
    }

    public static String GetCookie(string cookieName)
    {
        try
        {
            cookieName = cookieName.ToLower();    
            if (HttpContext.Current.Request.Cookies[cookieName] == null)
                return string.Empty;

            return HttpContext.Current.Request.Cookies[cookieName].Value;
        }
        catch
        {
            return string.Empty;
        }
    }
}