Я создал Web-api со следующим методом put
public HttpResponseMessage Put (int id, модель [FromBody] DataModel)
в методе put я передаю объект, и он обновляется в базе данных. Его работа, которую я проверил с помощью скрипача.
Теперь в моем приложении MVC я вызываю его, используя следующий код
[HttpPost]
public JsonResult OrderSearch(DataModel model)
{
UpdateOrder(model).Wait();
if (putresult != null && putresult != string.Empty)
{
return Json(putresult);
}
else
{
return Json("Error in getting result");
}
}
private async Task UpdateOrder(DataModel model)
{
string json = JsonConvert.SerializeObject(model);
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.PutAsync("api/values/"+ model.OrderNo,new StringContent(json)).Result;
if (response.IsSuccessStatusCode)
{
putresult = await response.Content.ReadAsAsync<string>();
}
}
}
Но код не попадает в мой метод Put в сервисе, и putresult остается пустым. Я пытаюсь найти информацию об использовании PutAsync, но ничего не могу найти, поэтому, пожалуйста, помогите.