1

Windows 7 64 ビットの IE10 でテストしている C# WebForms アプリケーションで Cookie を作成しました。

問題は、コード ビハインドから Cookie を削除できないことです。ページを更新するか、ハイパーリンクをクリックしてまったく同じページに戻ると、ページは引き続き Cookie を読み取ることができます。

ユーザーがOKボタンを押すと、ポップアップコントロールが表示されます。

String key = "mycookiedata";
HttpCookie oCookie = null;
if (null != HttpContext.Current.Request.Cookies[key])
{
    oCookie = HttpContext.Current.Request.Cookies[key];

    oCookie.Expires = DateTime.Now.AddDays(-1);
    HttpContext.Current.Response.Cookies.Set(oCookie);
}

Session.Remove(key);
Session.Abandon();
Session.Clear();

コード ビハインドが完了し、制御がユーザーに戻ります。ページを更新して、削除されたと思っていた Cookie が削除されていないことがわかるまで、すべて問題ないようです。また、ブラウザ ウィンドウを閉じて、新しいブラウザでページをリロードしようとしましたが、Cookie はまだそこにありました。ログアウトしたユーザーは、本当にログアウトして Cookie がなくなったことに安心するはずです。

コードで何かを見逃していませんか?

4

2 に答える 2