c# - Cookie 在 ASP.NET 中是如何工作的?

标签 c# asp.net cookies

我工作的网站由几个项目组成(用多种语言编写)。现在我们必须在查询字符串和 session 变量中使用一些笨拙的代码来让一个人在从一个项目转到另一个项目时保持登录状态。由于 cookie 是特定于域的,我们正在尝试将其转换为它们,因为它们可以在一个项目中使用一种语言设置,但可以被不同的项目(在同一域中)使用不同的语言访问。

但是,我在更改 cookie 的值和删除它们时遇到了问题。或者更具体地说,我无法对曲奇棒进行任何更改。

例如在我的注销代码中:

if (Request.Cookies["thisuserlogin"] != null)
{
    HttpCookie myCookie = new HttpCookie("thisuserlogin");
    myCookie.Value = String.Empty;
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
    Response.Cookies.Set(myCookie);
    litTest.Text = myCookie.Expires.ToString() + "<br />" + Request.Cookies["thisuserlogin"].Expires.ToString();
}

我最后一行是昨天,下一行是 1/1/0001 12:00:00,尽管它们应该是同一个 cookie。那么为什么即使设置了 cookie,它的值也没有改变呢?有没有办法强制用户的计算机更新 cookie 的值,包括删除?

非常感谢。 PS 如果您可以提供任何 URL 以提供易于理解的 cookie 入门,我们将不胜感激。

最佳答案

http://msdn.microsoft.com/en-us/library/ms178194(v=vs.100).aspx

if (Request.Cookies["thisuserlogin"] != null)
{
    HttpCookie byeCookie = new HttpCookie("thisuserlogin");
    byeCookie.Expires = DateTime.Now.AddDays(-1);
    Response.Cookies.Add(byeCookie);

    // Update Client
    Response.Redirect(Request.RawUrl);
}

关于c# - Cookie 在 ASP.NET 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269715/

相关文章:

c# - 使用递归查找二维数组第一行和最后一行中所有值的总和

c# - vs2010循环依赖问题

c# - 在 ListView 的下拉列表中获取 selectedIndexChanged 上的 ListView 项的值

Tomcat 9 : cookie attack?

无法在 Django 中检索 JavaScript cookie 值

c# - Windows Phone 8.1 中的 BackButtonPressed 问题?

c# - 从 C# 跨平台调用 C++

asp.net - “Failed to enable constraints”错误在我的ASP.Net项目中不断出现(看似随机)

mysql - 正确将数据写入表(ASP.NET MVC)

javascript - PHP:使用 Javascript 读取 cookie 设置