Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 新cookie值未持久化_C#_Asp.net - Fatal编程技术网

C# 新cookie值未持久化

C# 新cookie值未持久化,c#,asp.net,C#,Asp.net,尝试更改cookie值时出现问题。我的应用程序检查用户是否正在使用旧浏览器(如IE8)进行浏览。如果是这样,他将被重定向到一个特定页面,以告知兼容性问题。此页面包含指向主页的带有查询字符串的链接 其思想是在第一次重定向后使用值设置为true的cookie(通过检查特定查询字符串是否存在),以防止进一步重定向 当前代码: HttpCookie _forceEntry = Request.Cookies["_forceEntry"]; if (_forceEntry == null) {

尝试更改cookie值时出现问题。我的应用程序检查用户是否正在使用旧浏览器(如IE8)进行浏览。如果是这样,他将被重定向到一个特定页面,以告知兼容性问题。此页面包含指向主页的带有查询字符串的链接

其思想是在第一次重定向后使用值设置为true的cookie(通过检查特定查询字符串是否存在),以防止进一步重定向

当前代码:

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过期日期?检查