3

我一直在尝试使用 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()了,但也没有用。有人熟悉这个问题吗?

4

2 回答 2

2

您是否尝试过同时使用这两个字符串?

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

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

if (Request.Cookies.AllKeys.Contains("testKanti"))
{
    // We are here
}
于 2013-09-19T16:01:51.043 回答
0

尝试以下方式:

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

Response.Cookies.Add(cookie);

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

于 2013-01-15T09:26:44.983 回答