2016-12-01 415 views
0

我试图将Disconnect Timeout设置为默认30s的较高值。 网络上的所有例子都是以JS为导向的。控制台应用程序SignalR客户端断开连接超时

 var hubConnection = new HubConnection("http://localhost:8087"); 
     var testHubProxy = hubConnection.CreateHubProxy("TestHub"); 

错误:System.TimeoutException:无法的00:00:30的配置的超时内重新连接,断开。

这不起作用:

 GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(35); 

更新: 看起来DisconnectTimeout需要在服务器端设置!?

禁止不同的客户端有不同的Disconnect Timeout的原因是什么?

回答

1

断开超时配置在服务器端。主要的原因可能如下:

  • 我们知道,服务器可能需要一些的N次单位回应,以使所有客户端可能会心知肚明。
  • 服务器应该是pinging定期连接的客户端。因此,服务器知道客户端连接,并且可以管理其他集线器并从连接池中消除过期的连接。
  • 客户端不应该设置断开连接超时,因为它不知道它什么时候可以关闭,例如,互联网意外地在客户端关闭,而客户端无法告诉服务器我不会再次连接到您。是的,但是我们在客户端有一些事件告诉它,不再连接到信号中心。请参阅重新连接和断开连接的事件。

摘要:

断开连接超时是告知其客户机没有连接了,即使它断开可耻服务器。

相关问题