Cookie добавляется в Response.Cookies, также добавляется в Request.Cookies. Есть ли способ добраться до оригинального Request.Cookies? - PullRequest
4 голосов
/ 22 ноября 2011

Если я добавлю файл cookie в ответ через Response.Cookies.Add(), файл cookie также появится в Request.Cookies.

Есть ли способ получить исходные файлы cookie запроса (без учета недавно добавленных файлов cookie ответа) без предварительного кэширования Request.Cookies заранее?

Есть еще один вопрос , который спрашивает, почему существует такая ситуация (момент, который мне ясен). Я спрашиваю, есть ли способ обойти это.

Обновление

В качестве очень грубого фильтра кажется, что вы можете искать файлы cookie в Request.Cookies, чей Expires равен default(DateTime). Это связано с тем, что когда браузеры сериализуют свои куки в запросе, они не включают даты истечения срока их действия.

Тем не менее, это не избавит от любых файлов cookie, случайно добавленных в Response без Expires.

1 Ответ

2 голосов
/ 28 ноября 2011

Request.Headers["Cookie"] содержит необработанное значение заголовка, отправленное браузером. Это список пар ключ-значение, разделенных точкой с запятой. Например,:.

key1=value1; key2=value2

Который может быть проанализирован на Dictionary<string, string>, чтобы выяснить исходные куки-файлы запроса (игнорируя любые, которые были добавлены или изменены путем манипулирования Request.Cookies или Response.Cookies).

(Значения кодируются URI, чтобы избежать любых таблиц Бобби ситуаций для значений, содержащих знаки равенства или точки с запятой.)

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