Прежде всего, размер содержимого запроса, вызывающий это 632 байта, поэтому я не думаю, что он связан с параметром maxRequestLength.Я пытался увеличить это, и это не помогло.Содержимое запроса доступно через ReadAsStreamAsync, поэтому IIS не блокирует его.
У меня есть контроллер с методом Post, который принимает объект класса.Это всегда работает с моей машины разработки и большую часть времени работает на нашем сервере QA под IIS.Это выглядит как -
[RoutePrefix("api/message")]
public class MessageController : ApiController
{
[Route("send")
public async Task<SendMessageResponse> PostSend([FromBody] SendMessageRequest request)
{
...
SendMessageRequest выглядит как -
public class SendMessageRequest
{
public string[] sendTo { get; set; }
public string subject { get; set; }
public string body { get; set; }
}
Однако, когда содержание запроса превышает 632 символа, PostSend получает значение null в качестве параметра запроса.Можно вручную получить поток запросов и сериализовать его, используя Newtonsoft.JSON.
Есть идеи?
Спасибо, Гектор
* Пример содержимого запроса
{
"subject" : "Test Message",
"sendTo" : [ "hector@employer.com" ],
"body" : "...Long String..."
}
Если изменить тему или текст, чтобы содержимое запроса превышало 632 байта, в PostSend будет передан ноль