C# 为什么非持久性cookie在关闭浏览器窗口后未过期?

C# 为什么非持久性cookie在关闭浏览器窗口后未过期?,c#,asp.net,asp.net-mvc,logging,cookies,C#,Asp.net,Asp.net Mvc,Logging,Cookies,从网上我了解到有两种类型的cookie:持久cookie和非持久cookie。如果我没有指定过期时间,则会创建非持久性cookie。我还了解到,一旦浏览器关闭,非持久性cookie将被删除,但在我的情况下,即使我关闭了浏览器窗口,我仍然可以在未成功登录的情况下导航到我的应用程序 public ActionResult Index(Login userLogin) { if (ModelState.IsValid) { Login Login = loginBusi

从网上我了解到有两种类型的cookie:持久cookie和非持久cookie。如果我没有指定过期时间,则会创建非持久性cookie。我还了解到,一旦浏览器关闭,非持久性cookie将被删除,但在我的情况下,即使我关闭了浏览器窗口,我仍然可以在未成功登录的情况下导航到我的应用程序

public ActionResult Index(Login userLogin)
{
    if (ModelState.IsValid)
    {
        Login Login = loginBusinessLayer.GetUserLogin(userLogin.UserId, userLogin.UserName);
        if (Login.UserPassword == userLogin.UserPassword)
        {
            Session["UserLogin"] = Login;
            User user = userBusinessLayer.GetUser(Login.UserId);
            Role role = roleBusinessLayer.Roles.Single(rle => rle.RoleId == user.RoleId);
            Session["Role"] = role;

            HttpCookie cookie = new HttpCookie("UserLogin");
            cookie["LoginId"] = Convert.ToString(Login.UserId);
            cookie["RoleId"] = Convert.ToString(role.RoleId);
            Response.Cookies.Add(cookie);
            return RedirectToAction("Success", "Login");
        }
        else
        {
            return View();
        }
    }
    return View();
}

现代浏览器继续在后台运行,即使所有可见窗口都已关闭。例如,Windows上的Google Chrome需要从任务栏中的小通知图标关闭,才能真正关闭。如果这样做,会话cookie将被删除


请注意,您的登录方法包含许多安全缺陷。我希望这只是一个例子。使用asp.net中的内置库:asp.net标识和Owin提供程序。

我从任务管理器中删除了浏览器,但cookie仍然存在。请在您的Chrome Developer工具的响应中向我们显示设置cookie。您能否提供一份文档,让我了解如何执行此操作?演示如何查看
响应标题
。到达后,勾选“保存日志”。然后单击清除(红色按钮旁边)。然后加载你的页面。单击第一个web请求(滚动到顶部,靠近名称)。标题下将有
响应标题
。与我们共享任何
set cookie
条目。