cookies
のすべてを期限切れにする次のコードを書きました。request
です。しかし、それらを期限切れにすると、私はcookies
のいくつかのためにdomain
プロパティを明示的に設定する必要があります。同じことを行うには良い方法がある場合、私は私だけcookies
の選択list
にdomain
値を設定するために、他のより良い方法がある場合はC#そうに新しいことを確認していない...クッキーの有効期限コードの最適化
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");
}
を思っていました。私は基本的にtcl
から、スクリプトの背景から来ました、与えられた項目がリストにあるか気に入らない場合は、通常、私は単純にそこにチェックすることができます。
if ($item in $list){
// Do something
}
lsearch
を実行に似ています。
将来的に私は同じアクションを実行するためにlist
でcookies
より多くを持っているかもしれないと私はif
条件チェックを詰め維持したくないので、とにかく、私はif
で論理演算子を好きではない理由があります。
は、私はおそらくlist
の各cookie
名のfor
ループチェックして、すべてのCookie名のlist
とを持っているように、ここでtcl
と同じ操作を行うが、それがどのように高価なことを確認することはできません。
コメントをいただければ幸いです。
ここをクリックしてください:https://stackoverflow.com/questions/31833109/remove-and-delete-all-cookies-of-my-asp-net-c-sharp-applicationレスポンスのCookieを更新するだけです。あなたはクッキーを更新せず、新しいクッキーを作成します。 – Niels
クッキーが多すぎるとメンテナンスが難しいです。 ASP.NETには、ページ間でデータを永続化するための他のメカニズムがあります。あなたが達成しようとしていることを教えてもらえれば、より良い解決策を提案することができます。 – Win
私は同じドメインにある私のサイトのための単一のログアウトページを作成しようとしています。だから私はすべてのクッキー、基本的に私のセッションのクッキーを削除しようとしていたので、ユーザーが任意のサイトからログアウトすると、彼/彼女は他のすべてのサブサイトからログアウトされます。 – Naphstor