【问题标题】:OWIN ReadAsAync does not returnOWIN ReadAsAync 不返回
【发布时间】:2014-05-22 23:31:40
【问题描述】:

我有一个带有 WebAPI 和 Test Winforms 应用程序的解决方案。我正在尝试从 Winform 访问 Wepapi。

HttpResponseMessage response = await client.GetAsync("api/serialnumbers");
if (response.IsSuccessStatusCode)
 {
     var x = await response.Content.ReadAsAsync<SerialNumber>(); //This does not return
     button1.Text = snlist[0].ComputerName;

 }

client.GetAsync 调用可以跟随到服务器,我在 Get 中看到它,然后 StatusCode 正常,ReadAsSync 被调用,但我不知道它在服务器上的位置,它不返回。

我可以浏览到 /api/serialnumbers 网址并获取数据。

【问题讨论】:

    标签: owin asp.net-web-api2


    【解决方案1】:

    这对我有用

    snlist = response.Content.ReadAsAsync>().Result;

    【讨论】:

      【解决方案2】:

      您很可能会调用WaitResult 进一步提高调用堆栈。这将导致deadlock that I describe on my blog

      正确的解决方案是使用await 删除对WaitResult 的所有调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-14
        • 2015-06-12
        • 2017-12-24
        • 1970-01-01
        • 2015-07-02
        • 2014-04-27
        • 2016-10-02
        相关资源
        最近更新 更多