同步调用webAPI方法

时间:2017-12-11 19:06:25

标签: c# .net asynchronous asp.net-web-api2

我想从Windows服务调用webAPI方法,我不需要说调用是异步的。如果我以异步方式处理此调用,我将不得不在我的调用链中一直传播异步,而我不想这样做。相反,我希望同步调用该方法。

无处不在我看起来答案只是在代码中放置异步(我不想要,或者需要这个)或者使用described here的工作。我认为只需从Windows服务中调用webAPI方法而不执行其中任何一个选项,就会有更简洁的方法。我错过了什么,或者只是它的方式?

我从阅读其他帖子和那篇文章中了解到,执行以下代码很糟糕并且可能会陷入僵局,但我想到现在有一​​种更好的方法来修复'除了使用黑客之外。是否有最新.NET版本中添加的当前首选方法?

public void Send(MeasurementProcessResults measurementResult)
{
    var response = httpClient.PostAsJsonAsync("api/notification", measurementResult).Result;

    if(response.IsSuccessStatusCode)
    {
        //Do some stuff here
    }
    else
    {
        //throw an exception.
    }
}

1 个答案:

答案 0 :(得分:0)

我最终使用RestSharp,它具有本地调用休息服务的同步方法。