SignalR配置HubConnection

问题描述 投票:7回答:2

在AspNet SignalR客户端是否需要处理HubConnection

从我所看到的情况来看,似乎需要一些时间......

asp.net .net dispose signalr.client signalr-2
2个回答
6
投票

如果你打电话给Stop(),没有必要。

https://msdn.microsoft.com/en-us/library/dn235890(v=vs.118).aspx

否则,在使用完IDisposable对象时,应始终处置它们。

如果它花费太长时间(即阻止当前线程),只需将其停在Task上,例如:

Task.Run(()=>hubConnection.Stop());

1
投票

你的意思是什么需要花费太多时间?你能详细点吗?你有超时异常吗?

从Nutshell中的C#5.0一书:

一个安全的规则(几乎在所有情况下)是“如果有疑问,请处置。”一个一次性物品 - 如果它可以说话 - 会说如下:

当你和我结束时,请告诉我。如果简单地放弃,我可能会为其他对象实例,应用程序域,计算机,网络或数据库带来麻烦!

如果它不是一个交易破坏者,我会说处置。也可能有助于找出那里需要很长时间的事情。

© www.soinside.com 2019 - 2024. All rights reserved.