MVC4不在浏览器中保存cookie

时间:2013-01-15 08:46:27

标签: c# asp.net-mvc cookies asp.net-mvc-4

我一直在尝试使用MVC4在我的浏览器中保存cookie中的纯文本,但由于某种原因它永远不会保存在浏览器中。我在IE,Chrome和FireFox中测试过。

我一直在StackOverflow上尝试不同的解决方案,但它们都没有为我工作。我不知道我做错了什么,我希望有人能帮我解决这个问题。

我一直在使用的代码:

if (Request.Cookies.AllKeys.Contains("testKanti"))
{
    // Never makes it here.
}
else
{
    HttpCookie cookie = new HttpCookie("testKanti");
    cookie.Value = "testKanti";
    cookie.Expires = DateTime.UtcNow.AddYears(1);

    Response.Cookies.Remove("testKanti");
    Response.SetCookie(cookie);
}

我也试过Response.Cookies.Add(),但这也不起作用。有人熟悉这个问题吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试过使用这两种字符串?

Request.Cookies.Add(cookie);
Response.SetCookie(cookie);

我已经尝试过,在我的情况下,它有效

if (Request.Cookies.AllKeys.Contains("testKanti"))
{
    // We are here
}

答案 1 :(得分:0)

尝试以下方面的内容:

HttpCookie cookie = new HttpCookie("testKanti");
cookie.Value = "testKanti";
cookie.Expires = DateTime.UtcNow.AddYears(1);

Response.Cookies.Add(cookie);

查看您是否可以首先使用cookie的设置,因为在返回响应之前将其从Response对象中删除可能会导致问题。

相关问题