c# - 在内容页面之间遍历时 cookie 值消失

标签 c# asp.net cookies

在我的应用程序中。有一个登录机制可以保存一个 cookie,其中包含刚刚登录的用户的信息

     private void CreateCookie(LoginEventArgs args)
     {
         HttpCookie cookie = new HttpCookie("user");
         cookie.Values["name"] = args.User_Name;
         cookie.Values["id"] = args.ID;
         cookie.Expires = DateTime.Now.AddDays(1);            
         Response.Cookies.Add(cookie);
     }

在我的主页加载时,我执行检查以查看此 cookie 是否存在:

   HttpCookie cookie = Request.Cookies["user"] ;
   if( (cookie != null) && (cookie.Value != ""))  
   {
        if (Session["user"] == null)
            Login_Passed(this, new LoginEventArgs(cookie.Values["name"].ToString(), int.Parse(cookie.Values["id"])));
   }

现在,如果我登录(创建一个 cookie),关闭浏览器,然后运行我的应用程序。又是 cookies 存在它的值是正确的并且用户“自动”登录。

如果我首先从启动内容页面重定向到不同的内容页面 cookie 值也完好无损,

问题是当我第二次重定向回不同的内容页面时, 母版页加载,进行检查 cookie 存在但值被删除...

关于为什么会发生这种情况的任何想法?

顺便说一句,也许我注销的方式可能是这个问题的原因:

当我注销时,我创建了一个同名的 cookie,该 cookie 在 1 天前过期。

   private void Remove_Cookie()
   {
        HttpCookie cookie = new HttpCookie("user");
        cookie.Expires = DateTime.Now.AddDays(-1);
        Response.Cookies.Add(cookie); 
   }

在 iv'e 描述的情况下,我没有正式注销,我只是结束了我的应用程序,所以这不应该 有什么作用。

最佳答案

好吧,这个问题是不可想象的
特别感谢 Peter Bromberg

http://www.eggheadcafe.com/tutorials/aspnet/198ce250-59da-4388-89e5-fce33d725aa7/aspnet-cookies-faq.aspx

在文章“消失的 Cookie”部分

作者指出,如果您在 Response.Cookies["cookie_name"] 上有 watch 浏览器会创建一个新的空 cookie 来覆盖您的 cookie。

我使用了这样的 watch ,它使我的 cookie 失去了它的值(value),而当我将它取下时,cookie 保持了它的值(value)。

道德是不要看 Response.Cookies[""] 我也在其他帖子中读到,如果你检查

 if( Response.Cookies["cookie_name"] != null    )  

例如,它也会被覆盖。

关于c# - 在内容页面之间遍历时 cookie 值消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510327/

相关文章:

c# - 使用sql server express为c#.net winform应用程序创建多个用户

c# - 等待任务完成而不阻塞 UI 线程

c# - iOS UI 的 MVVM 交叉图片选择器插件不会在 Bytes 类型 View 模型属性上使用 InMemoryImage 进行更新

asp.net - 对嵌套母版页使用继承

java - Android KitKat chrome ://inspect/devices network monitoring, 如何查看所有请求数据

c# - 如何比较两个十六进制数

asp.net - Azure 上的 MVC4 应用程序无法运行

c# - 这个json格式正确吗?

security - 负载均衡器 SSL 终止和安全 cookie

javascript - 如何使用 javascript 设置 cookie 的 HttpOnly 标志?