ひさしぶりに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と記述してしまっており、なかなか値が取れずに無駄な時間を過ごしました・・・

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

コメントを残す

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