在AspNet SignalR客户端中,处理HubConnection
必需的操作是什么?
似乎需要一些时间,从我所看到的......
答案 0 :(得分:6)
如果您拨打Stop()
,则没有必要。
请参阅https://msdn.microsoft.com/en-us/library/dn235890(v=vs.118).aspx
否则,在完成使用后,应始终处置IDisposable
个对象。
如果花费太长时间(即阻止当前线程),只需将其停在Task
上,例如:
Task.Run(()=>hubConnection.Stop());
答案 1 :(得分:1)
你是什么意思花费太多时间?你能详细点吗?你有超时例外吗?
从坚果壳中的C#5.0一书:
遵循的安全规则(几乎在所有情况下)都是“如有疑问,请予以处置”。 一个一次性物品 - 如果它可以说话 - 会说如下:
当你和我结束时,请告诉我。如果简单地放弃,我可能会 导致其他对象实例,应用程序域, 计算机,网络或数据库!
如果它不是一个破坏者,我会说处置掉。也可能有助于找出那里需要很长时间的事情。