首页 > 解决方案 > ASP.NET MVC 5 会话 cookie 自动添加到响应中

问题描述

在我网站的登录页面上的响应中添加 cookie 后,我看到 cookie 被自动添加到后续响应中。此 cookie 与我在登录页面上添加的 cookie 名称相同,但没有价值,也没有过期日期。

这是创建 cookie 的代码:

var cookie = new HttpCookie("dcGlUCookie");
cookie.Value = "dct=0&dcs=627&dcl=8644&dcu=0&dcp=0&dca=&dcut=-1";
cookie.Expires = DateTime.Now.AddDays(90);
cookie.HttpOnly = true;
cookie.Secure = true;
HttpContext.Current.Response.Cookies.Add(cookie);



这是加载登录页面后 cookie 的样子: 这是在加载第二个页面时自动添加到 Response.Cookies 的 cookie: 这是加载第二个页面后 cookie 的样子:
在此处输入图像描述



在此处输入图像描述



在此处输入图像描述



我找不到任何解释这种行为的东西。虽然我可以在后续请求中手动删除此会话 cookie,但似乎我遗漏了一些东西。是否有某种方法可以创建 cookie 或配置应用程序,这样就不会发生这种情况?

标签: asp.net-mvccookiesasp.net-mvc-5

解决方案


我发现这是因为布局页面引用了 cookie 的值之一。只是引用一个 cookie 会自动将其添加到响应的 cookie 中,不知道为什么。

我通过 ViewBag 传递 cookie 值来修复。


推荐阅读