Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';不要删除cookie_C#_Asp.net Mvc_Cookies - Fatal编程技术网

C# Can';不要删除cookie

C# Can';不要删除cookie,c#,asp.net-mvc,cookies,C#,Asp.net Mvc,Cookies,我看到我在使用HttpContext.Request的remove方法之后立即在调试中删除cookie,但当我重定向到另一个操作时,我仍然可以获得cookie值。为什么会这样 public class LoginController : Controller { public ActionResult Logout() { HttpContext.Request.Cookies.Remove(Constants.User); //I see tha

我看到我在使用HttpContext.Request的remove方法之后立即在调试中删除cookie,但当我重定向到另一个操作时,我仍然可以获得cookie值。为什么会这样

public class LoginController : Controller
{

  public ActionResult Logout()
  {       
   HttpContext.Request.Cookies.Remove(Constants.User);     

   //I see that HttpContext.Request.Cookies[Constants.User] returns null in this line.

   return RedirectToAction("Login", "Login");
  }

  public ActionResult Login()
  {
    var userCookie = HttpContext.Request.Cookies[Constants.User];

    // But HttpContext.Request.Cookies[Constants.User] is not null here. I get the value from it.

    if (userCookie != null)
      return RedirectToAction(Constants.MainPage, Constants.MainPage);
    else
      return View();
  }
}

要删除cookie,您必须将其发送时的过期日期设置为“现在”或“以前的日期”。使用HttpContext.Request.Cookies.Remove(Constants.User)删除它只需将其从集合中删除,但它仍存在于客户端浏览器中

例如,不要使用
Remove
函数,而是使用:

    Response.Cookies[Constants.User].Expires = DateTime.Now.AddDays(-1);   

要删除cookie,您必须将其发送时的过期日期设置为“现在”或“以前的日期”。使用HttpContext.Request.Cookies.Remove(Constants.User)删除它只需将其从集合中删除,但它仍存在于客户端浏览器中

例如,不要使用
Remove
函数,而是使用:

    Response.Cookies[Constants.User].Expires = DateTime.Now.AddDays(-1);