我有一個C#的WebAPI方法與此簽名:陣列被截斷
[HttpPost]
[Route("getbyid/{date}")]
public Response Get(DateTime date, [FromBody] List<string> ids)
當我打電話從郵差這個方法具有n個串在體內的列表,一切工作正常。我的列表只是看起來像
["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...
我在做什麼錯?
賓果!謝謝!我在GetResponse調用之前添加了這一行,現在所有的結果都將它傳遞給服務。 – user55295