Согласно RFC, отдельные файлы cookie в заголовке HTTP "Cookie" могут быть разделены как запятыми, так и точкой с запятой. Однако ASP.NET неправильно разбирает регистр запятых - он не считает запятую в качестве разделителя, а считает ее просто частью значения.
Например, если клиент отправляет заголовок Cookie: a=b, c=d
, приложение ASP.NET увидит только один файл cookie с именем «a» со значением «b, c = d».
В особом случае то же самое происходит, когда клиент отправляет несколько заголовков файлов cookie (по одному для каждого файла cookie) вместо объединения всех файлов cookie в один заголовок. С точки зрения HTTP это полностью верно, и в таком случае эффективное значение заголовка должно быть объединением значений всех его экземпляров, разделенных запятыми.
Кто-нибудь знает обходной путь (или, может быть, исправление?) Для этого? Мне абсолютно необходимо, чтобы это работало, потому что я не контролирую клиента.
P.S. По иронии судьбы, согласно этот поток, поведение встроенного HTTP-клиента .NET (также известного как HttpWebRequest) прямо противоположно и также вызывает проблемы. :-)