C# 处理signar.Net客户端中的异常
我有以下客户端方法(.Net客户端): 我说这是异步的,因为它将“立即”返回,而不是等待调用完成,对吗?如果是这种情况,C# 处理signar.Net客户端中的异常,c#,signalr,signalr.client,C#,Signalr,Signalr.client,我有以下客户端方法(.Net客户端): 我说这是异步的,因为它将“立即”返回,而不是等待调用完成,对吗?如果是这种情况,try..catch是否会在调用过程中捕获任何异常,例如,如果连接已关闭?(如果没有,我会怎么做?) 如果我要添加.Wait(),这是否会使代码同步,从而只在调用完成后返回 最后,在调用时使用wait有什么好处吗?或者这只在调用具有返回值的服务器方法时有用吗?是的,调用是异步的,因此,您的代码除了在实际断开连接时尝试调用方法之外(很可能)不会捕获任何异常(该检查应同步运行)。
try..catch
是否会在调用过程中捕获任何异常,例如,如果连接已关闭?(如果没有,我会怎么做?)
如果我要添加.Wait()
,这是否会使代码同步,从而只在调用完成后返回
最后,在调用时使用
wait
有什么好处吗?或者这只在调用具有返回值的服务器方法时有用吗?是的,调用是异步的,因此,您的代码除了在实际断开连接时尝试调用方法之外(很可能)不会捕获任何异常(该检查应同步运行)。
如果您等待调用,那么您的try…catch
块将捕获远程发生在服务器端方法调用上的错误(但是还有其他事情要做,比如您必须允许详细的错误进入客户端)。尽管如此,为了捕获更一般的相关错误,例如与连接相关的故障,您应该订阅连接对象上的Error
事件,如下所示:
hubConnection.Error += ex => Console.WriteLine("Error: {0}", ex.Message);
请点击此处:
hubConnection.Error += ex => Console.WriteLine("Error: {0}", ex.Message);