Почему заголовок диапазона содержимого удаляется из запросов в ASP.NET Web API?

m создание API, в котором можно загружать файл в виде фрагментов.

Идя по этомуStackoverflow вопрос и ответзаголовок диапазона содержимого кажется наиболее подходящим для этого.

Тем не менее, в действии контроллера заголовок был удален, так что я могут доступ к нему. Когда я используюспектр' заголовок доступен в коллекции заголовков запросов.

У кого-нибудь есть идея, почему Content-Range удаляется из запросов?

Ответы на вопрос(1)

Решение Вопроса

они выровняли заголовки со спецификациями HTTP / 1.1 - переместили заголовки сущностей в Request.Content.Headers.

Я попробовал это в запросе образца и нашел это там.

Я нашел это изменение после прочтения соответствующих разделовRFC 2616, Я'Мы обсуждали это в последнее время, потому что главный автор, Fielding, также является изобретателем архитектурного стиля REST, и я пытаюсь следовать этому стилю, используя ASP.NET Web API.

Я понял, что существует различие междузапрос", "ответ", "генеральный" (используется как для запроса, так и для ответа, но не относится к сущности) и "юридическое лицо" заголовки.

Похоже, что команда ASP.NET пересмотрела модель классов, чтобы лучше отразить RFC, создав три подкласса HttpHeaders:

HttpRequestHeaders для "5.3 Запросить поля заголовка » а также "4.5 Общие поля заголовка »HttpResponsHeaders для "6.2 Поля заголовка ответа " а также "4.5 Общие поля заголовка »HttpContentHeaders для "7.1 Поля заголовка объекта "

Вот дословные описания трех классов в MSDN (ссылки мои):

HttpRequestHeaders: Представляет коллекциюЗаголовки запроса, как определено в RFC 2616.HttpResponseHeaders: Представляет коллекциюЗаголовки ответа, как определено в RFC 2616.HttpContentHeaders: Представляет коллекциюЗаголовки содержимого, как определено в RFC 2616, Content-Range является заголовком сущности, поэтому ContentRange находится в HttpContentHeaders.

Обратите внимание, что описание класса MSDN немного ошибочно - в RFC нет определения заголовков контента, но ясно, что они подразумевают заголовки сущностей.

 Toad01 нояб. 2012 г., 11:37
отличная находка. Это было действительно хитро спрятано.
 Pete Klein05 нояб. 2012 г., 22:54
У меня нет опыта с этим, но от чтения спецификации - да. Range - это заголовок запроса - похоже, он предназначен для запроса диапазона. Content-Range, будучи заголовком сущности, имеет значение для запроса PUT (для клиента, чтобы идентифицировать на сервер чанк, отправляемый для замены части существующего ресурса) и для ответа GET (для идентификации сервером для клиент, чей кусок возвращается).
 Toad05 нояб. 2012 г., 21:42
Согласитесь ли вы с тем, что диапазон содержимого является подходящим заголовком для отправки фрагментов файла во время загрузки? Я сомневался между этим заголовком и заголовком диапазона.

Ваш ответ на вопрос