У меня есть C# метод WebAPI с этой подписью:Массив строк, посланных в WebService получает усечен
[HttpPost]
[Route("getbyid/{date}")]
public Response Get(DateTime date, [FromBody] List<string> ids)
Когда я называю этот метод из Почтальон со списком п строк в теле, все работает нормально. Мой список просто выглядит
["id1","id2","id3"...]
Но когда я написал небольшой C# клиент назвать это, я нахожу, что массив получает усечен. Это не вопрос размера сообщения. Если я отправлю 100 предметов, где-то между 75-80, сделайте это в службе. Если я отправлю 500 из 475, сделайте это. Я подтвердил с протоколированием, что список имеет 500 элементов непосредственно перед вызовом службы и меньше 500 прямо внутри контроллера.
Вот мой код клиента:
string url = ".../getbyid/2017-01-01";
List<string> payload = new List<string>();
// logic to put 500 items in the list
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.UseDefaultCredentials = true;
request.Method = "POST";
request.ContentType = "application/json";
StreamWriter writer = new StreamWriter(request.GetRequestStream());
JsonWriter jsonWriter = new JsonTextWriter(writer);
JsonSerializer json = new JsonSerializer();
json.Serialize(jsonWriter, payload);
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
if (responseStream == null) throw new EndOfStreamException();
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
// do processing...
Что я делаю неправильно?
Bingo! Благодаря! Я добавил эту строку перед вызовом GetResponse, и все результаты теперь попадают в эту службу. – user55295