質問

通常の 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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top