我面临一个关于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,但它有一个空字符串值。我该怎么办?
非常感谢!
答案 0 :(得分:1)
您是否尝试使用设置Cookie的相同代码获取Cookie?如果是这样,cookie将不存在。页面传送后,Cookie会在用户浏览器上显示SET。
另外,您能否确认UserID.ToString()
实际上不是空字符串..?
要正确测试,请在第A页上设置Cookie,然后重定向到第B页并在此处获取Cookie。