作者:手机用户2702932507 | 来源:互联网 | 2023-05-29 11:32
我有这行代码:
HttpResponseMessage aRespOnse= await aClient.PostAsync(theUri, theContent);
但是,我有一个错误:"await"运算符只能在异步方法中使用.考虑使用'async'修饰符标记此方法并将其返回类型更改为'Task'.
所以我去搜索并找到了这个链接:HTTPClient异步POST和读取结果的故障排除
我已经尝试了答案,但我仍然得到了这个错误.我该怎么办?太感谢了
1> trashr0x..:
您需要修饰包含await
调用的方法,async
并将其包含在返回类型中Task
.例如,如果您是从MVC 的Index()
操作中调用它,则Controller
必须修改:
public ActionResult Index()
{
HttpResponseMessage aRespOnse= await aClient.PostAsync(theUri, theContent);
//will give you the error you are getting
}
..它变成了:
public async Task Index()
{
HttpResponseMessage aRespOnse= await aClient.PostAsync(theUri, theContent);
//no error here
}
看一下MSDN 上的async(C#Reference).
还有一种情况是Task
在没有返回有意义的值时返回void
,主要用于定义需要返回类型的事件处理程序.
对于所有可能的返回类型的async
方法,请查看MSDN 上的异步返回类型(C#和Visual Basic).
另外,这些操作需要System.Threading.Tasks
在项目中引用.