我寫了下面的代碼到期的所有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