c# – 更新的Cookie无法在Response.Redirect上运行
发布时间:2020-12-15 22:49:42 所属栏目:百科 来源:网络整理
导读:我正在更新cookie如下 if (Request.Cookies["SSOPortalUser"] == null) { HttpCookie myCookieSSOPortalUser = new HttpCookie("SSOPortalUser"); // Set the cookie value. myCookieSSOPortalUser.Value = currentUser.UserLogin.ToString(); // Add the co
我正在更新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的内存中结构的值).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |