public static async Task <string> InPostAsync(ApiPost apiPost, string name) { WebRequest request = WebRequest.Create(String.Format("http://localhost:5000/api/analyzer/{0}", name)); request.Method = "POST"; // для отправки используется метод Post // данные для отправки string data = JsonConvert.SerializeObject(apiPost); // преобразуем данные в массив байтов byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(data); // устанавливаем тип содержимого - параметр ContentType request.ContentType = "application/json"; // Устанавливаем заголовок Content-Length запроса - свойство ContentLength request.ContentLength = byteArray.Length; //записываем данные в поток запроса using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); } WebResponse response = await request.GetResponseAsync(); using (Stream stream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { return(reader.ReadToEnd()); } } }
private async void b_Click(object sender, RoutedEventArgs e) { try { var servises = new List <service> { new service { serviceCode = Convert.ToInt32(s1.Text) }, new service { serviceCode = Convert.ToInt32(s2.Text) } }; var inAnaliz = new ApiPost { patient = p.Text, services = servises }; var s = await Api.InPostAsync(inAnaliz, a.Text); MessageBox.Show(s); } catch (WebException ex) { WebResponse response = ex.Response; using (Stream stream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { MessageBox.Show(reader.ReadToEnd()); } } } }