Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.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# HttpCookie因未知原因被删除_C#_Asp.net_Cookies_Httpcookie - Fatal编程技术网

C# HttpCookie因未知原因被删除

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

好吧,那么。由于某些原因,此cookie正在被删除/覆盖
它确实存在了一段时间。对于代码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。到期日也设置为该日期。