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

How to avoid duplicate cookie for my asp.net application

本文关键字:我的 asp net 应用程序 cookie 何避免      更新时间:2023-09-26

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

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

  1. TestApplication
  2. TESTApplication

用户界面没有区别,但是内部创建了不同的cookie。谁能告诉我如何避免这样的重复?

谢谢孔雀舞

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;
        }
    }
}