gpt4 book ai didi

c# - 无法创建任务 "await"

转载 作者:行者123 更新时间:2023-12-02 03:59:50 29 4
gpt4 key购买 nike

我正在尝试在我的 Web api 包装器中编写一个方法。我想利用“异步/等待”功能,这样用户界面就不会被阻塞。下面是 Web API 包装器中的代码片段。

    public static async Task Get<T>(Dictionary<string, string> paramDictionary, string controller)
{
try
{
string absoluteUrl = BaseUrl + controller + "?";
absoluteUrl = paramDictionary.Aggregate(absoluteUrl,
(current, keyValuePair) => current + (keyValuePair.Key + "=" + keyValuePair.Value + "&"));
absoluteUrl = absoluteUrl.TrimEnd('&');

using (HttpClient client = GetClient(absoluteUrl))
{
HttpResponseMessage response = await client.GetAsync(absoluteUrl);
return await response.Content.ReadAsAsync<T>();
}
}
catch (Exception exception)
{
throw exception;
}
}

问题是我在下面的语句中遇到编译器错误。

HttpResponseMessage response = await client.GetAsync(absoluteUrl);

上面写着"Type System.Threading.Tasks.Task <System.Net.Http.HttpResponseMessage> is not awaitable" 。经过多次搜索,我无法摆脱这个错误。有什么想法我哪里出错了吗?请帮忙。

最佳答案

据我所知,这是因为你的方法返回 Task ,不是Task<T> 。所以你不能这样做return await response.Content.ReadAsAsync<T>() 。更改签名返回 Task<T> :

public static async Task<T> Get<T>(...)

关于c# - 无法创建任务 <HttpResponseMessage> "await",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23992947/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com