HTTP POST имеет Request.Form.Count == 0 на IIS 8.5, когда представлено действительное тело

1

У нас есть простая служба WCF REST, которая получает HTTP POST-запросы. Мы проверяем, что в запросе есть несколько пар ключ-значение, проверяя, что Request.Form.Count > 0 Это работает отлично и-dandy на IIS 6/IIS 7 (Server Request.Form.Count > 0). Однако в IIS 8.5 (Server 2012) запрос не Request.Form.Count проверку в качестве Request.Form.Count равен нулю.

Заголовок Content-Type по запросу - application/x-www-form-urlencoded

Как один и тот же исходный код для одного и того же запроса работает до IIS 8.5, но не для IIS 8.5?

Стоит упомянуть, что сервер 2012 года "безголовый", т.е. Не имеет запущенной оболочки Explorer. Кроме того, мы видим, что тело запроса приходит на сервер. Это почти как что-то в конвейере обработки, удаляет его.

  • 0
    какой заголовок типа контента вы используете для получения значения ключа?
  • 0
    Обновлен вопрос для включения Content-Type.
Теги:
iis-8.5

1 ответ

0
Лучший ответ

Решение этого здесь и здесь. Не используйте HttpContext.Current.Request.Form. Используйте неявный Stream.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню