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