我有SignalR Client Hub连接并调用InvokeAsynch方法,服务器以正确的方式接收消息。然后我返回响应,客户端挂起InvokeAsync。
在Asp.Net Signalr(既不是核心也不是abp)中,这种方式有效,但是HubProxy中有CallAsync方法,而HubConnection中有InvokeAsync。
客户端:
public async Task<bool> EdytujObszar(int elementId, int obszar)
{
bool res = await Connection.InvokeAsync<bool>(EnumTools.GetDescription(MessageTypeEnum.EdytujObszar), elementId, obszar);
return res;
}
服务器端:
public class MyHub : OnlineClientHubBase, ITransientDependency, IMyHub
{
private readonly IHubContext<MyHub> _hubContext;
(...)
public bool EdytujObszar(int elementId, int obszar)
{
bool result;
(some logic)
return result;
}
我想收到服务器的响应,但是InvokeAsync永远挂起。在此场景中,使用客户端的On方法订阅消息无法达到我的期望。