C# HttpCookie因未知原因被删除
好吧,那么。由于某些原因,此cookie正在被删除/覆盖C# HttpCookie因未知原因被删除,c#,asp.net,cookies,httpcookie,C#,Asp.net,Cookies,Httpcookie,好吧,那么。由于某些原因,此cookie正在被删除/覆盖 它确实存在了一段时间。对于代码2的一个周期,但是当通过页面加载再次调用代码2时,它不包含我的数据 cookie包含一个编码的会话ID,用于确定该用户是谁以及他们是否是管理员 如果没有用于比较的sessionID,它会将用户引导到登录页面 假设用户角色设置为1 代码1: 代码2:(不属于cookies的代码的剥离分配。) 代码3: using System; using System.Collections.Generic; using S
它确实存在了一段时间。对于代码2的一个周期,但是当通过页面加载再次调用代码2时,它不包含我的数据
cookie包含一个编码的会话ID,用于确定该用户是谁以及他们是否是管理员
如果没有用于比较的sessionID,它会将用户引导到登录页面 假设用户角色设置为1 代码1:
代码2:(不属于cookies的代码的剥离分配。)
代码3:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FormsAuthenticateProject.Customer
{
public partial class Customer : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DBConnLayer DBCL = new DBConnLayer();
DBCL.userRoleRedirect();
}
}
}
}
在
userRoleRedirect
()中,您正在进行以下条件检查:
else if (ckDateTime.CompareTo(DateTime.Now) > 0)
您需要检查这是否会被评估为真。我怀疑cookie到期时间意味着Now
和cookie到期时间之差加起来不大于0。罪魁祸首bug可能存在于以下解析到期时间的代码中:
DateTime.TryParseExact(myCookie.Values["LogoutTimer"], DTFormat,
CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out ckDateTime);
这里已经回答了这个问题: 我将此代码添加到UserRoleDirect的第一行
if (Request.Cookies["Session"] != null)
{
Response.Cookies.Set(Request.Cookies["Session"]);
}
和HttpCookie mycokie=Request.Cookies[“Session”]代码>
到
var mycokie=Request.Cookies[“Session”]。值代码>
我使用mycokie[“ValueName”]
获取值
它返回一个字符串。您是否有cookie应处于活动状态和/或删除状态的时间或日期。。?请看这里@MethodMan,我相信我在代码1的第48到56行中做到了这一点,代码在第一次运行时的计算结果为true。但在第二次运行时,该值为空。饼干是新的,吐出来的日期是01/01/01。到期日也设置为该日期。