cookie检查无效

时间:2016-01-12 12:44:18

标签: c# cookies httpcookie

我在我网站的首页上添加了一个“试用”功能 - 基本上访问者可以在浏览器中尝试使用我的网站所做的非常有限的一套,看看它的全部内容。

我想要一个持久性的cookie来检查他们之前是否已经尝试过,如果是这样的话,请将它们引导到注册页面(我知道这不是万无一失的,但我不是在寻找对于诺克斯堡来说,任何想要避免支票的人都不会注册,我只是试图推动那些喜欢这种功能的人注册。)

当用户点击试用按钮时,我的代码为:

//check cookie to see if this has been tried before
    HttpCookie myCookie = HttpContext.Current.Request.Cookies["myCookie"];
    if (myCookie == null)
    {
generateLink()
}
else {
response.Redirect(~/SignUp);
}

并且在generateLink()方法的末尾我有代码:

HttpCookie myCookie = new HttpCookie("myCookie");
    myCookie.Values.Add("HasTried", "True");
    myCookie.Expires = DateTime.Now.AddHours(9680);

但是“试一试”按钮始终会生成一个链接,并且永远不会触发respone.redirect。我哪里错了?

2 个答案:

答案 0 :(得分:3)

您需要将Cookie添加到响应中:

WebElement weAux;
(... some code....)
weAux.SendKeys(Keys.TAB);

如果您将代码放在Response.Cookies.Add(myCookie); 的代码末尾,那么将cookie写入浏览器。

请参阅: How to write a cookie,来自MSDN。

答案 1 :(得分:1)

Response.Cookies.Add(myCookie);

在最后遗漏