Cannot close stream until all bytes are written (GoodData API)

前端 未结 3 1414

I\'ve done a bit of searching, and most people seem to hit this when sending larger amounts of data, but I\'m not.

I\'m making a request to an API with the followin

3条回答
  •  花落未央
    2021-01-17 18:31

    For me it was going wrong with a special character (é) in a Json request. For some reason I had to set the ContentLength manually.

    Thanks to the tip on this page I changed my code to the following and for me it works now.

    Old version:

    string content = "{ test: \"olé\" }";
    
    _Request.ContentLength  = content.Length;
    
    using ( var writer = new StreamWriter(_Request.GetRequestStream()) ) 
        writer.Write( content );
    

    New version:

    string content = "{ test: \"olé\" }";
    
    byte[] bytes            = Encoding.UTF8.GetBytes(content);
    _Request.ContentLength  = bytes.Length;
    
    using ( var writer = _Request.GetRequestStream() )
        writer.Write(bytes, 0, bytes.Length);
    

提交回复
热议问题