.net куки, нужно ли отправлять в браузер? - PullRequest
1 голос
/ 11 мая 2009

После того, как я создаю или изменяю httpcookie, нужно ли добавлять его в коллекцию response.cookies? (если да, только если это новый cookie или даже если я его модифицирую)

Ответы [ 2 ]

1 голос
/ 11 мая 2009

Если вы не добавите файл cookie в коллекцию Response.Cookies, он никогда не будет отправлен в браузер. Однако, как только вы добавите файл cookie в коллекцию, вы можете изменить его по своему усмотрению, и последнее заданное вами значение - это то, что будет отправлено в браузер. То, что вы добавляете в коллекцию, является ссылкой на ваш объект HttpCookie, и cookie не отправляется в браузер до конца жизненного цикла запроса.

1 голос
/ 11 мая 2009

Если он новый, его нужно добавить в коллекцию Response.Cookies, чтобы сохранить, но вы можете получить доступ к коллекции как к массиву.

Response.Cookies["foo"] = myCookie;

Это позаботится о добавлении для вас. К вашему сведению, если файлы cookie не были созданы, значение вернется к нулю.

Однако файл cookie будет обновлен, если вы обратитесь к коллекции следующим образом:

HttpCookie myCookie = Response.Cookies["foo"];

Любые изменения в myCookie будут внесены в файл cookie в коллекции, поскольку в C # при присвоении переменной существующему объекту класса этот объект обрабатывается по ссылке и изменяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...