我有一个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();
}
问题出在机器上。我重新开始,它排序了所有问题。
答案 0 :(得分:1)
在cookie构造函数中创建cookie时添加根路径。
... new HttpCookie(login_cookie) { Path = "/", ...