繁体   English   中英

asp.net mvc 5 cookie不在本地服务器上持久存在

[英]asp.net mvc 5 cookies not persisting on local server

嗨我正在尝试在用户登录后立即在我的mvc5应用程序中设置一个cookie,我希望cookie在浏览器关闭后仍然存在,但是在我关闭浏览器后请求cookie似乎为null(当我尝试时它工作正常登录后立即访问)。

以下是我创建cookie的方法:

public ActionResult Login(User u)
    {
        // this action is for handle post (login)
        if (ModelState.IsValid) // this is check validity
        {
            using (RoadTexEntities rte = new RoadTexEntities())
            {
                var v = rte.Users.Where(a => a.UserEmail.Equals(u.UserEmail) && a.password.Equals(u.password)).FirstOrDefault();
                if (v != null)
                {
                    var checkBox = Request.Form["rememberMe"];
                    if (checkBox == "on")
                    {
                        string user = JsonConvert.SerializeObject(v);
                        HttpCookie userCookie = new HttpCookie("user");
                        userCookie.Values.Add("details", user);
                        userCookie.Expires.AddDays(1);
                        Response.Cookies.Add(userCookie);
                    }
                    Session["username"] = v.UserFirst;
                    return RedirectToAction("AfterLogin");
                }
                else
                {
                    ViewBag.Message = "Invalid Login Credentials";
                }
            }
        }
        return View(u);
    }

 public ActionResult Index(){

        HttpCookie userCookie = Request.Cookies["user"];
        if (userCookie != null)
        {
            return RedirectToAction("AfterLogin");
        }
        else
        {
            return RedirectToAction("Login");
        }
    }

我已经检查了类似的问题并检查了我的浏览器设置,但是当我请求cookie时,我仍然是null。

将其更改为

 userCookie.Expires = DateTime.Now.AddDays(1);

因为您以前的代码不会设置cookie的过期时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM