11

在 AspNet SignalR 客户端中,是否需要处理HubConnection必要的操作?

根据我所看到的,这似乎需要一些时间...

4

2 回答 2

9

如果您正在调用,则没有必要Stop()

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

否则,您应该始终IDisposable在使用完对象后处理它们。

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

Task.Run(()=>hubConnection.Stop());
于 2015-09-18T02:03:28.750 回答
2

你说的时间太长是什么意思?能详细点吗?你有超时异常吗?

摘自《C# 5.0 in a Nutshell》一书:

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

当你完成了我,让我知道。如果简单地放弃,我可能会给其他对象实例、应用程序域、计算机、网络或数据库带来麻烦!

如果不是破坏交易,我会说处置。也可能有助于找出需要这么长时间的原因。

于 2015-09-18T02:00:15.313 回答