【问题标题】:HttpClient.GetAsync works in one class but not in the otherHttpClient.GetAsync 在一个类中有效,但在另一类中无效
【发布时间】:2019-03-25 08:27:51
【问题描述】:

这就是它的工作原理:

public class ThisWorks : IPortableHttpClient
{
    private Windows.Web.Http.HttpClient client;

    async public Task<Windows.Web.Http.HttpResponseMessage> GetAsync(Uri url)
    {
        return await client.GetAsync(url);
    }

这不起作用,我不明白为什么:

public class DoesntWork : IPortableHttpClient
{
    private Windows.Web.Http.HttpClient client;

    async public Task<Windows.Web.Http.HttpResponseMessage> GetAsync(Uri url)
    {
        return await client.GetAsync(url);
    }

这会收到一条错误消息:await client.GetAsync(url) 错误消息是这样的:“IAsyncOperationWithProgress”不包含“GetAwaiter”的定义,并且找不到接受“IAsyncOperationWithProgress”类型的第一个参数的扩展方法“GetAwaiter”(您是否缺少“System”的使用指令)?

如果重要,这里是 IPortableHttpClient:

public interface IPortableHttpClient
{
    Task<HttpResponseMessage> GetAsync(Uri url);        
}

另一个可能有用的信息:它工作的代码位于 UWP 框架中。它不适用于 .NET 框架。

【问题讨论】:

    标签: c# windows web uwp httpclient


    【解决方案1】:

    我一直在使用错误的命名空间。

    我不得不将Windows.Web.Http 更改为System.Net.Http

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      相关资源
      最近更新 更多