C# 新cookie值未持久化
尝试更改cookie值时出现问题。我的应用程序检查用户是否正在使用旧浏览器(如IE8)进行浏览。如果是这样,他将被重定向到一个特定页面,以告知兼容性问题。此页面包含指向主页的带有查询字符串的链接 其思想是在第一次重定向后使用值设置为true的cookie(通过检查特定查询字符串是否存在),以防止进一步重定向 当前代码:C# 新cookie值未持久化,c#,asp.net,C#,Asp.net,尝试更改cookie值时出现问题。我的应用程序检查用户是否正在使用旧浏览器(如IE8)进行浏览。如果是这样,他将被重定向到一个特定页面,以告知兼容性问题。此页面包含指向主页的带有查询字符串的链接 其思想是在第一次重定向后使用值设置为true的cookie(通过检查特定查询字符串是否存在),以防止进一步重定向 当前代码: HttpCookie _forceEntry = Request.Cookies["_forceEntry"]; if (_forceEntry == null) {
HttpCookie _forceEntry = Request.Cookies["_forceEntry"];
if (_forceEntry == null)
{
_forceEntry = new HttpCookie("_forceEntry");
_forceEntry.Values.Add("_forceEntry", "false");
Response.Cookies.Add(_forceEntry);
}
if (Request.QueryString["ForceOldIE"] != null)
{
_forceEntry["_forceEntry"] = "true";
}
if (_unsupportedBrowser.Values["_unsupportedBrowser"].ToString() == "true" && _forceEntry["_forceEntry"] == "false")
Response.Redirect("~/SupportedBrowsers/Index?applicationId=1");
无论何时查询字符串存在,这都有效。cookie值更改为true。但当我尝试导航到另一个页面时,该值再次返回false,使我再次重定向
这是怎么发生的?cookie值在最后一个if上设置后,是否应该在其他页面上保持为true?我不是100%确定,但我怀疑cookie没有在重定向上设置。@Chris,实际上它没有在重定向上设置。此代码在我们的BasePage类中。@Joãocolas您是否设置了cookies过期日期?检查