ひさしぶりにCookieを使用した際に、ついついSessionと同じ書き方で書いてしまって、ビルドエラーになってしまいました・・・

ですので、使い方をメモしておきます。

Sessionの使い方も一緒に。

1//Sessionの場合
2//取得
3if( Session["任意の文字列"] != null )
4{
5    var a = (string)Session["任意の文字列"];//設定した値によってキャストが必要
6}
7//設定
8Session["任意の文字列"] = "テスト";
9//削除
10Session.Remove("任意の文字列");
11Session["任意の文字列"] = null;
12 
13//Cookieの場合
14//取得
15if (HttpContext.Current.Request.Cookies["任意の文字列"] != null)
16{
17    var a = HttpContext.Current.Request.Cookies["任意の文字列"].Value;
18}
19//設定
20HttpContext.Current.Response.Cookies["任意の文字列"].Value = "テスト";
21HttpContext.Current.Response.Cookies["任意の文字列"].Expires = DateTime.Now.AddDays(1);//有効期限
22//削除 ※有効期限を過去の日付に設定
23HttpContext.Current.Response.Cookies["任意の文字列"].Expires = DateTime.Now.AddDays(-3);

Cookieの削除は、有効期限を過去の日付に設定することにより行います。

msdnより引用 方法 : Cookie を削除する

ユーザーのコンピュータから Cookie を直接削除することはできません。ただし、Cookie の有効期限を過去の日付に設定すると、Cookie を削除するようにユーザーのブラウザを誘導できます。ユーザーが次回 Cookie を設定したドメインまたはパス内のページを要求すると、ブラウザは Cookie が期限切れであることを確認して削除します。

Cookieを取得する場合と設定する場合では、RequestとResponseの部分が異なります。

僕は取得するときも、Responseと記述してしまっており、なかなか値が取れずに無駄な時間を過ごしました・・・

コピペするときは、気をつけないとね。

コメントを残す

メールアドレスが公開されることはありません。