Cookie成为回发会话

时间:2012-01-31 10:08:39

标签: asp.net-mvc-3 session cookies httpwebrequest

我有一个cookie,当用户访问我的MVC3应用程序的页面/ auth /时设置。

当用户将表单数据发回服务器时,我通过更改已分配的值来修改cookie。然后我使用Response.Cookies.Set(mycookie);将cookie更改为mycookie的值。

我遇到的问题是,当页面首次加载“获取”请求时,cookie会显示为cookie。在收到回复后,cookie现在显示为具有完全不同的到期日期的会话。

CODE ::

[HttpGet]
public ActionResult Auth()
{
    var cookie = Request.Cookies.Get(login_cookie);
    if (cookie == null || string.IsNullOrEmpty(cookie.Value))
    {
        Response.Cookies.Add(new HttpCookie(login_cookie) { Expires = DateTime.Now.AddMinutes(5), Value = "0", HttpOnly = true,  });
    }
    .....

    return View();
}


[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(Login loginform)
{
    int attempts = 0;
    HttpCookie login_cookie_data = Request.Cookies.Get(login_cookie);

    ....

    Response.Cookies.Set(login_cookie_data);
    return View();
}

解决

问题出在机器上。我重新开始,它排序了所有问题。

1 个答案:

答案 0 :(得分:1)

在cookie构造函数中创建cookie时添加根路径。

... new HttpCookie(login_cookie) { Path = "/", ...