Ble*_*ter 4 c# async-await signalr
在SignalR中心我是这样的:
public class MyHub : Hub
{
public override Task OnConnected()
{
// my async code here
return base.OnConnected();
}
}
Run Code Online (Sandbox Code Playgroud)
我想执行异步代码.所以我添加了这样的async关键字:
public class MyHub : Hub
{
public override async Task OnConnected()
{
var result = await MyAsyncMethod();
return base.OnConnected();
}
}
Run Code Online (Sandbox Code Playgroud)
但return base.OnConnected();显示此错误:
由于MyHub.OnConnected()是一个返回的异步方法,因此返回
Task的关键字后面不能跟一个对象表达式.你打算回来Task<T>吗?
我该如何解决?谢谢.
Ren*_*ogt 10
async编译器将方法转换为状态机.你不能return在Task这里,因为Task返回是由编译器生成的,代表了这个方法的延续.
简单await的base电话:
public override async Task OnConnected()
{
var result = await MyAsyncMethod();
await base.OnConnected();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |