我写了下面的代码到期的所有cookies
我request
。但随着到期他们一起,我需要设置domain
属性一些cookies
明确的。我不知道是否有更好的方法做同样的...优化cookie过期代码
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
HttpCookie cookie;
string cookieName;
int cookieCount = Request.Cookies.Count;
for (int i = 0; i < cookieCount; i++)
{
cookieName = Request.Cookies[i].Name;
cookie = new HttpCookie(cookieName);
cookie.Expires = DateTime.Now.AddDays(-1);
if (string.Compare(cookieName, "cookie1") == 0
|| string.Compare(cookieName, "cookie2") == 0
|| string.Compare(cookieName, "cookie3") == 0
|| string.Compare(cookieName, "cookie4") == 0)
{
cookie.Domain = ".mydomain.com";
}
Response.Cookies.Add(cookie);
}
Response.Redirect("my redirect link");
}
我是新来的C#所以不知道是否有任何其他更好的方法来设置domain
值的cookies
选择list
只。我是从脚本背景,基本上是从tcl
,而且通常我可以简单地或检查给定项目列表中的不一样:
if ($item in $list){
// Do something
}
这类似于执行lsearch
。
反正,我不喜欢逻辑运算符if
的原因是因为在将来,我可能会在list
更cookies
来执行相同的动作,我不想要保持馅if
条件检查。
我也许可以在这里做的tcl
同样喜欢拥有所有的cookie名称的list
,然后在list
每个cookie
名称for
循环检查,但不知道它是多么昂贵。
任何意见,将不胜感激。
看过来:https://stackoverflow.com/questions/31833109/remove-and-delete-all-cookies-of-my-asp-net-c-sharp-application刚刚更新的响应cookie。你不更新cookie,你创建一个新的cookie。 – Niels
太多的饼干难以维护。 ASP.NET有其他机制来保持页面之间的数据。如果您可以告诉我们您想要达到的目标,我们可以为您提供更好的解决方案。 – Win
我正在尝试为我的网站在同一个域上创建单个注销页面。所以我试图删除所有的cookies,基本上是我的会话cookie,这样如果用户退出任何网站,他/她就会退出所有其他子网站。 – Naphstor