Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理signar.Net客户端中的异常_C#_Signalr_Signalr.client - Fatal编程技术网

C# 处理signar.Net客户端中的异常

C# 处理signar.Net客户端中的异常,c#,signalr,signalr.client,C#,Signalr,Signalr.client,我有以下客户端方法(.Net客户端): 我说这是异步的,因为它将“立即”返回,而不是等待调用完成,对吗?如果是这种情况,try..catch是否会在调用过程中捕获任何异常,例如,如果连接已关闭?(如果没有,我会怎么做?) 如果我要添加.Wait(),这是否会使代码同步,从而只在调用完成后返回 最后,在调用时使用wait有什么好处吗?或者这只在调用具有返回值的服务器方法时有用吗?是的,调用是异步的,因此,您的代码除了在实际断开连接时尝试调用方法之外(很可能)不会捕获任何异常(该检查应同步运行)。

我有以下客户端方法(.Net客户端):

我说这是异步的,因为它将“立即”返回,而不是等待调用完成,对吗?如果是这种情况,
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);