2009-11-24 1 views
6

Следующий код будет посылать кук пользователя как часть ответа:Как назначить непостоянный (in-memory) cookie в ASP.NET?

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

Куки имеют постоянный типа, которые в большинстве браузеров будут записаны на диск и используются во время сеанса. То есть, файл cookie все еще находится на клиентском ПК завтра, даже если браузер и компьютер закрыты между ними. Через неделю cookie будет удален (из-за строки # 2).

Непрерывные/в памяти куки-файлы - еще один кусок файлов cookie, срок службы которых определяется продолжительностью сеанса просмотра клиента. Обычно такие куки хранятся в памяти, и они отбрасываются при закрытии браузера.

Как назначить куки-файл в памяти из ASP.NET?

ответ

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 "' также приведет к ненастоящему файлу cookie, не так ли? –

3

Если вы не указали срок годности, то он делает вид cookie, о котором вы просите.

0

присвоение DateTime.MinValue до истечения срока действия также делает трюк ...

Смежные вопросы