2009-11-24 7 views
6

次のコードは、応答の一部としてユーザにクッキーを送信します:ASP.NETで非永続(メモリ内)Cookieを割り当てるにはどうすればよいですか?

var cookie = new HttpCookie("theAnswer", "42"); 
cookie.Expires = DateTime.Now.AddDays(7); 
Response.Cookies.Add(cookie); 

クッキーは、ほとんどのブラウザでディスクに書き込まれ、セッション全体で使用永続型です。つまり、ブラウザとPCが間もなく閉じられていても、クッキーは明日もクライアントのPCに残っています。 1週間後、クッキーは削除されます(行番号2のため)。

非永続的/メモリ内のクッキーは、クッキーの一種であり、クライアントのブラウジングセッションの期間によって寿命が決まります。通常、そのようなクッキーはメモリ内に保持され、ブラウザが閉じられると破棄されます。

ASP.NETからメモリ内Cookieを割り当てるにはどうすればよいですか?

答えて

11

有効期限を省略してください。値を設定しないと、セッションが終了した後にCookieが自動的に破棄されます。

var cookie = new HttpCookie("theAnswer", "42"); 
Response.Cookies.Add(cookie); 
+3

これはASP.NET固有のものでもありません。非永続的なクッキーは、定義上、有効期限のないクッキーです。 :) – bzlm

+0

私は実際にこれが答えであると疑っていましたが、GoogleとSOに関するいくつかのクイック検索では信頼できる情報源が見つかりませんでした。少なくとも今ここに記載されています! @bzlm:ボーナス情報ありがとう、それを知らなかった:) –

+1

だから、省略形の 'Response.Cookies [" theAnswer "] .Value =" 42 "'は非永続的なクッキーになりますよね? –

3

有効期限をまったく指定しないと、求めているクッキーの種類が決まります。

0

DateTime.MinValueを有効期限に割り当てると、...

関連する問題