1

我正在尝试学习如何处理 cookie,这个概念似乎很容易理解,但是因为我需要检查如果我尝试阅读不存在的 cookie 会发生什么我找不到 cookie

我已经完成了所有这些:

  1. 删除临时 asp.net 文件
  2. ie9中删除的cookies
  3. 删除项目并通过打开的网站加载。

类实例

public KwPosCookies.meta KwCookMet = new KwPosCookies.meta();

pageLoad.. :设置 cookie 后,我评论了 cookie 的创建。

    string getCookieDtail = "";
    //var x = KwCookMet.SetUsrCkie1(KwCookMet.cookieSName, "currUSName", "currUSMail");
    //Response.SetCookie(x);
    getCookieDtail = KwCookMet.GetUCkie1ValAsStr(KwCookMet.cookieSName, KwCookMet.usermail);

这是 cookie 的类

public class KwPosCookies
{
    public class meta
    {
        public readonly string username = "UserName";
        public readonly string usermail = "UserEmail";
        public readonly string LastTimeVisit = "LTV";
        public readonly string cookieSName = "UserInfo1";
        public HttpCookie SetUsrCkie1(string CookieName, string Uname, string UMail)
        {
            var retC = new HttpCookie(CookieName);
            retC.Expires = DateTime.Now.AddMonths(1);
            retC[username] = Uname;
            retC[usermail] = UMail;
            retC[LastTimeVisit] = DateTime.Now.ToString("ddMMyyyy");

            return retC;
        }
        public string  GetUCkie1ValAsStr(string CookieName, string KeyToGet)
        {
            return HttpContext.Current.Request.Cookies[CookieName][KeyToGet];
        }

    }

}

仍在读取 cookie 将显示它仍然存在(某处)具有相同的值。

4

1 回答 1

2

用你的代码我会

  1. 检查请求和响应之间的 cookie 键是否绝对相同。
  2. 确保浏览器配置为接受 cookie。
  3. 我会在同一个会话中获取和设置 cookie,即使用页面上的按钮来删除 cookie。如果您通过内置 Web 服务器的 Visual Studios 运行该站点,则重新运行该站点将有效地重新启动服务器。它也可以使用不同的端口。我不相信在那种情况下你能看到掉落的 cookie

一般来说

我弄清楚 cookie 发生了什么的方法就是观察它们是使用 firefox 或 chrome 创建和销毁的。所以在 chrome 中使用开发者工具栏 (F12) 去

资源 -> Cookie

在此处输入图像描述

并获得以下屏幕。老实说,我发现找出正在发生的事情的最佳方法。

于 2013-07-01T17:54:19.070 回答