Cookie似乎永远不存在

时间:2013-04-12 13:11:58

标签: asp.net cookies

我面临一个关于cookie的奇怪问题:我试图在用户第一次登录应用程序时使用用户ID设置cookie,下次,如果cookie存在,则不需要再次进行用户身份验证。

为此我使用下面的代码:

  • 设置Cookie:

    HttpCookie userCookie = new HttpCookie("UserCookie");
    userCookie.Value = UserId.ToString();
    userCookie.Expires = DateTime.Now.AddHours(1);
    System.Web.HttpContext.Current.Response.Cookies.Add(userCookie);
    
  • 获取cookie:

    HttpCookie UserCookie = System.Web.HttpContext.Current.Request.Cookies["UserCookie"];
    if (UserCookie != null)
    {
          // redirect the user to another screen inside the application
    } 
    

奇怪的是我的cookie似乎不存在,并且始终会在用户登录屏幕中提示用户。当我尝试使用调试时,在我看来cookie不是null,但它有一个空字符串值。我该怎么办?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试使用设置Cookie的相同代码获取Cookie?如果是这样,cookie将不存在。页面传送后,Cookie会在用户浏览器上显示SET。

另外,您能否确认UserID.ToString()实际上不是空字符串..?

要正确测试,请在第A页上设置Cookie,然后重定向到第B页并在此处获取Cookie。