.net HttpCookieクラス/セッションCookieに関する質問
-
08-07-2019 - |
質問
通常の HttpCookie
オブジェクトを、セッションの終了時に期限切れになるCookieにする方法に興味があります。 HttpContext.Sessionを見せてくれる人
には興味がありません。セッションCookieは、通常のCookieと比較して、応答ヘッダーでどのように見えますか?セッションの終了時に期限切れになるように HttpCookie
を変更するにはどうすればよいですか?ありがとう!
解決
セッションCookieは、有効期限が設定されていない単なるCookieです。
Response.Cookies.Add(new HttpCookie("name", "value"));
または:
Response.Cookies["name"] = "value";
他のヒント
DateTime.MinValue(1/1/0001)の有効期限を持つCookieは、セッションの終了時に有効期限が切れます。これは、asp.netのCookieのデフォルトの有効期限です。
「今」の前に有効期限を設定することで、Cookieをクライアントからすぐに強制的に削除できます。 (DateTime.Now.AddDays(-1d))この場合、クライアントにヒットすると削除されます。
HttpCookieがコーディングされたときにnull許容型が返された場合、null日付はセッションベースのCookieに相当し、他のものは有効期限値に変換されますが、そうではありません。
Cookieの有効期限:
- セッションCookie-有効期限は1/1/0001 00:00:00のDateTime.MinValueである必要があります
- 通常のCookie(期間限定)-有効期限は、現在のDateTime.Now以上の将来の日付です
- 削除されたCookie-DateTime.MinValueとDateTime.Nowの間のいつでも
CookieをセッションCookieに変更するには、単にMinValueを割り当てます。
httpCookie.Expires = DateTime.MinValue;
Cookieが新しい場合。 DateTimeのデフォルト値はDateTime.MinValueであり、設定する必要はありません。
CallMeLaNN
所属していません StackOverflow