- PR -

[ASP.net]クッキーの削除

1
投稿者投稿内容
うちうせん
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 96
お住まい・勤務地: 福岡県
投稿日時: 2008-01-28 13:51
ASP.netでクッキーを使用して情報を保存しているのですが、キーごと削除する方法がうまくいきません。
Pathが同じでキーが違うクッキーを作成し、片方のキーの分だけ削除しようとしています。
下記の1,2どちらでもうまくいきません。
なにか原因があればアドバイスお願いします。

★設定
Response.Cookies["StartPageInfo"].Path = Request.FilePath;
Response.Cookies["StartPageParam"].Path = Request.FilePath;

★削除
1)Response.Cookies["StartPageParam"].Expires = DateTime.Now.AddDays(-1);
2)Response.Cookies.Remove("StartPageParam");

[ メッセージ編集済み 編集者: うちうせん 編集日時 2008-01-28 13:53 ]
くまっち
大ベテラン
会議室デビュー日: 2008/01/18
投稿数: 169
お住まい・勤務地: 茨城県のどこか。
投稿日時: 2008-01-28 14:43
1)の方法でクッキーは削除できます。
2)の方法では、既にクライアントに保存されているクッキーを削除することは出来ません。
ブラウザに送信するクッキー情報を削除するだけです。

1)の方法で「うまくいかない」と判断した理由は??
即座に削除されるわけではありません。有効期限切れを起こし
次回クッキー読み取り時に、無効となるよう仕掛けるだけにすぎません。
クッキーの削除は、あくまでブラウザ任せです。

クッキーの削除については、下記MSDNを参考にしてください。
http://msdn2.microsoft.com/ja-jp/library/ms178195(VS.80).aspx
うちうせん
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 96
お住まい・勤務地: 福岡県
投稿日時: 2008-01-28 15:55
なるほど、削除はブラウザまかせでタイミングは不明なのですね。
今回は即座に情報を削除したかったため、情報有無フラグを書き換えることで対応しました。
返答ありがとうございました。
くまっち
大ベテラン
会議室デビュー日: 2008/01/18
投稿数: 169
お住まい・勤務地: 茨城県のどこか。
投稿日時: 2008-01-28 16:11
MSDNより
ユーザーが次回 Cookie を設定したドメインまたはパス内のページを要求すると、ブラウザは Cookie が期限切れであることを確認して削除します。

削除タイミングは「不明」ではなく「次回そのCookieが読み取られる時」です。
1

スキルアップ/キャリアアップ(JOB@IT)