如何捕获System.InvalidOperationException:在收到调用结果之前断开连接

时间:2016-01-02 01:27:47

标签: xamarin signalr signalr.client

我的错误确切地说明了异常消息的说法。 如果移动客户端在proxy.Invoke()结果到达之前失去连接,则会引发异常。没关系,但我需要抓住这个以避免应用程序崩溃。 我尝试/捕获所有proxy.Invoke()proxy.Invoke<T>()来电,但没有效果。

如何捕获该异常?

注意:我在Xamarin客户端(PCL)中使用SignalR客户端2.2.0

1 个答案:

答案 0 :(得分:0)

如果您在没有proxy.Invoke()的情况下呼叫await proxy.Invoke(),则异常不会从Invoke任务冒出来,直到执行代码。 我之前必须处理这个错误(在PCL中使用Xamarin),只需执行我的Invoke这样的工作对我有用:

try
{
    await hubProxy.Invoke("SomeMethod", args);
}
catch (InvalidOperationException ex)
{
    // Do what you need to with the exception
}

在SignalR GitHub上还有关于here的对话。