微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 更新的Cookie无法在Response.Redirect上运行

我正在更新cookie如下

if (Request.Cookies["SSOPortalUser"] == null)
                {
                    HttpCookie myCookieSSOPortalUser = new HttpCookie("SSOPortalUser");
                    // Set the cookie value.
                    myCookieSSOPortalUser.Value = currentUser.UserLogin.ToString();

                    // Add the cookie.
                    Response.Cookies.Add(myCookieSSOPortalUser);
                }
                else
                {
                    Request.Cookies["SSOPortalUser"].Value = currentUser.UserLogin.ToString();
                }

但是在我重定向到另一个页面后,浏览器中没有更新

Response.Redirect(AppSettings.Instance.AppRoot + "OperationSelection.aspx");

并且在operationSelection页面中,我试图访问cookie,它显示以前的值.

lbluser.Text = Request.Cookies["SSOPortalUser"].Value

解决方法

正如评论中所述,问题是错误的假设,即更新请求cookie值(在其他分支中)将以某种方式更新客户端上的cookie值.事实并非如此,因为要更新客户端上的cookie,您需要将另一个具有相同名称(和不同值)的cookie附加到响应中.更新请求cookie没有任何用处(只更新表示请求cookie的内存中结构的值).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐