11

ホームページのページ読み込み時に、次のような Cookie を設定しました:-

if (abc == true)
{
    HttpCookie cookie = new HttpCookie("Administrator");
    cookie.Value = "Admin";
    cookie.Expires = DateTime.Now.AddDays(-1);
    Response.SetCookie(cookie);
}

そして、クッキーを次のように使用します:-

if (Request.Cookies["Administrator"] != null)
{
    if (Request.Cookies["Administrator"].Value == "Admin")
        //some code
}

ログアウト時に、この Cookie を期限切れにするか削除する必要があります。だから私は書いた: -Seesion.Abandon();

ログアウトした後でも、ホームページに再度ログインすると、行Request.Cookies["Administrator"]はまだ空ではありません。

変...!この原因と解決策を教えてください。

4

4 に答える 4

17

MSDN ドキュメントから、

ユーザーのコンピューター上の Cookie を直接削除することはできません。ただし、Cookie の有効期限を過去の日付に設定することで、ユーザーのブラウザに Cookie を削除するように指示できます。ユーザーが次回、Cookie を設定したドメインまたはパス内のページにリクエストを行うと、ブラウザーは Cookie の有効期限が切れていると判断し、Cookie を削除します。

次のようにできます。

if (Request.Cookies["Administrator"] != null)
{
    HttpCookie myCookie = new HttpCookie("Administrator");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}
于 2012-10-10T18:14:24.563 に答える
9

で試すことができます

Session.Abandon();
Response.Cookies.Clear();

またはまた

YourCookies.Expires = DateTime.Now.AddDays(-1d);

リンク: http://msdn.microsoft.com/en-us/library/ms178195%28v=vs.100%29.aspx

于 2012-10-10T18:13:54.397 に答える
9

特定の Cookie を削除するには、過去の有効期限を割り当てる必要があります。

HttpCookie myCookie = new HttpCookie("Administrator");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);

詳細については、次の msdn 記事を参照してください。

方法: Cookie を削除する

于 2012-10-10T18:14:13.557 に答える
4

私にはあなたのラインのようです

cookie.Expires = DateTime.Now.AddDays(-1);

クッキーをそのまますぐに期限切れにする必要があります。

間違って入力した場合は、朗報です。過去の有効期限を設定することで、Cookie を期限切れにすることができます。

于 2012-10-10T18:15:50.070 に答える