ひさしぶりにCookieを使用した際に、ついついSessionと同じ書き方で書いてしまって、ビルドエラーになってしまいました・・・
ですので、使い方をメモしておきます。
Sessionの使い方も一緒に。
//Sessionの場合 //取得 if( Session["任意の文字列"] != null ) { var a = (string)Session["任意の文字列"];//設定した値によってキャストが必要 } //設定 Session["任意の文字列"] = "テスト"; //削除 Session.Remove("任意の文字列"); Session["任意の文字列"] = null; //Cookieの場合 //取得 if (HttpContext.Current.Request.Cookies["任意の文字列"] != null) { var a = HttpContext.Current.Request.Cookies["任意の文字列"].Value; } //設定 HttpContext.Current.Response.Cookies["任意の文字列"].Value = "テスト"; HttpContext.Current.Response.Cookies["任意の文字列"].Expires = DateTime.Now.AddDays(1);//有効期限 //削除 ※有効期限を過去の日付に設定 HttpContext.Current.Response.Cookies["任意の文字列"].Expires = DateTime.Now.AddDays(-3);
Cookieの削除は、有効期限を過去の日付に設定することにより行います。
msdnより引用 方法 : Cookie を削除する
ユーザーのコンピュータから Cookie を直接削除することはできません。ただし、Cookie の有効期限を過去の日付に設定すると、Cookie を削除するようにユーザーのブラウザを誘導できます。ユーザーが次回 Cookie を設定したドメインまたはパス内のページを要求すると、ブラウザは Cookie が期限切れであることを確認して削除します。
Cookieを取得する場合と設定する場合では、RequestとResponseの部分が異なります。
僕は取得するときも、Responseと記述してしまっており、なかなか値が取れずに無駄な時間を過ごしました・・・
コピペするときは、気をつけないとね。