How to disable Chunked Transfer Encoding in ASP.Net C# using HttpClient

It looks like you need to set the Content-Length header too, if you don’t it seems to use the MaxRequestContentBufferSize on HttpClientHandler to chunk the data when sending it.

Try using a StringContent, ByteArrayContent or StreamContent (If the steam is seekable) as these will be able to calculate the length for you.

var content = new StringContent(json);

HttpResponseMessage response = await client.PostAsync(content);

The PostAsJsonAsync extension methods create ObjectContent under the hood which doesn’t calculate the Content-Length and return false:

public class ObjectContent : HttpContent
{
    /* snip */

    protected override bool TryComputeLength(out long length)
    {
        length = -1L;
        return false;
    }
}

Thus will always fall back to chunking to the buffer size.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)