【问题标题】:can't delete cookies, nor find where are they stored无法删除 cookie,也无法找到它们的存储位置
【发布时间】:2013-07-02 02:14:56
【问题描述】:

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

这些我都做了:

  1. 已删除临时 asp.net 文件
  2. 已删除 ie9 中的 cookie
  3. 已删除项目并通过 open-website 加载。

类实例

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 将显示它仍然存在(某处)且具有相同的值。

【问题讨论】:

  • 您实际上是在使用 IE 9 进行测试吗? Cookie 是按浏览器存储的,因此如果您使用其他浏览器(Firefox、Chrome 等)进行测试,则需要删除该浏览器的 Cookie
  • @JedediahHoller 我一直在使用 ie9,设置 cookie 然后显示它读取它,然后删除它的临时文件和 cookie。没有尝试 chrome 或 FF。

标签: c# asp.net cookies


【解决方案1】:

我会用你的代码

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

一般情况

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

资源 -> Cookie

然后得到下面的屏幕。老实说,这是我发现的最好的方法来解决正在发生的事情。

【讨论】:

  • 抱歉错过了。我将删除那部分答案
  • 这两者有区别,当我更改为添加时,我删除了 cookie 它确实删除了 cookie,所以看起来如果你会像我一样添加 cookie(使用 setCookie)你会看到你不能“破坏”,虽然你的评论让我遇到了 setCookie 和 cookies 之间的差异问题。添加
  • 我猜 setCookies 与应用程序有关,就像数据库一样,我会检查一下,如果您对此有见解,请告诉我(;
猜你喜欢
  • 1970-01-01
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 2012-07-06
  • 2019-11-13
  • 1970-01-01
  • 2018-12-04
相关资源
最近更新 更多