2014-12-23 2 views
0

В моем приложении WebApi есть так или иначе, чтобы получить необработанные данные, когда несколько заголовков имеют одинаковое имя?Как установить разделитель для HttpHeaders?

При передаче нескольких заголовков Http с тем же именем они объединяются с разделителем «,». Кажется, что виновником является HttpHeaders класс под System.Net.Http.Headers.

Некоторые из моих заголовков содержат запятые, поэтому используйте запятую, так как разделитель не идеален.

Я хотел бы либо изменить разделитель, чтобы быть чем-то менее распространенным (по моему выбору), либо иметь доступ к значениям до их объединения.

Любые идеи?

Заранее спасибо.

ответ

1

двойной проверки спецификации, это выглядит как запятая зарезервированный символ, используемый для задания нескольких полей-значения заголовка под тем же имя поля: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

Несколько полей заголовка с тем же имя поля МОЖЕТ быть присутствовать в сообщении тогда и только тогда, когда все полевое значение для этого поля заголовка определяется как список, разделенный запятой [т.е. # (значения)]. . Должно быть возможно объединить несколько полей заголовка в одну строку «field-name: field-value» , не изменяя семантику сообщения , добавив каждое последующее значение поля к первому, каждый , разделенный запятая. Поэтому порядок, в котором получены поля заголовка с таким же именем поля , имеет важное значение для интерпретации комбинированного значения поля, и, таким образом, прокси НЕ ДОЛЖЕН изменять порядок этих значений полей при отправке сообщения. »

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