Отправка «большего» набора данных в службу Azure WCF - PullRequest
2 голосов
/ 18 января 2011

Я пытаюсь создать веб-сервис с помощью Azure.

В настоящее время все выполняется локально.Веб-служба и Azure работают нормально, простой метод string Test(), который возвращает «Hello world», работает без проблем, как и следовало ожидать.;)

Теперь я создал два метода, которые добавляют строки в таблицы данных Azure.Первый отправляет (используя специальный DataContract) одну строку данных, и это прекрасно работает.

Второй предназначен для отправки большего объема данных и отправляет IEnumerable.Итак, для тестирования сервиса я создал клиентское приложение, которое создает несколько случайных данных для отправки.Если я создаю до 42 строк и отправляю это, все идет хорошо.

Кроме того, я получаю ошибку 400 Bad request.

Проблема в том, что нет внутреннего сообщения для работы (или, скорее, это было внутреннее сообщение).Однако я сильно подозреваю, что это связано с размером запроса.

Обратите внимание: если я ставлю точку останова на метод службы, он даже не заходит так далеко.Я прочитал довольно много различных сообщений на форуме, касающихся подобных проблем, но, похоже, они касались обычных служб WCF, а не Azure, и поэтому файл Web.config не содержит определений привязок или конечных точек, что было бы чем-то, что яможет работать с.

Пожалуйста, помогите.

PS.Я понимаю, что, возможно, опубликовал очень мало информации.Если что-то нужно, пожалуйста, спросите, и я сделаю все возможное, чтобы включить это.

1 Ответ

1 голос
/ 02 февраля 2011

Добавление следующих строк в файл Web.config (под system.serviceModel) в проекте службы Azure ( NOT Web.config в клиентском приложении) решило проблему:

<bindings>
  <basicHttpBinding>
    <!--The basicHttpBinding is used for clients which use the generated code to transmit data; the following
  settings make it possible to send larger amounts to the service-->
    <binding maxReceivedMessageSize="10000000" receiveTimeout="01:00:00">
      <readerQuotas maxStringContentLength="10000000" />
    </binding>
  </basicHttpBinding>
</bindings>
...