0

在 Connection 的方法中,我应该给它多少超时?:SI 不知道正常的超时时间是多少,需要多长时间?:)

我不希望isValid()返回 false 如果它有更多时间可以返回 true,但我也不希望它减慢整个程序并让我“冻结”。

如果我设置为 0,这是否意味着我不关心任何超时,它会尽可能长时间地尝试?

谢谢!

4

2 回答 2

2

这取决于很多事情。通常,我假设 isValid 所用的时间与简单查询所用的时间大致相同。出于这个原因,我会使用用户可接受的最大时间。

例如,如果您认为(例如)Web 应用程序的用户在放弃之前最多会等待 5 秒以获得响应,那么您可能希望将该值用于 isValid。因为如果需要 50 秒才能到达数据库,则声明连接有效是没有意义的。

于 2009-11-12T11:11:27.017 回答
1

我不知道正常的超时时间是多少,需要多长时间?

然后将超时放入程序配置中(无论是什么)。也许在发生超时时记录事件,并随着时间的推移获得一些经验,什么是正常的超时。

...但我也不希望它减慢整个程序并让我“冻结”

这是一个面向最终用户的交互式程序,然后想想她会等待多少时间而不紧张。对我来说 2-3 秒还是可以的,这取决于程序为我做什么。

这是一个后台服务器程序吗?考虑一下连接延迟(重新连接网络等)会发生什么。后台程序可以等待更长时间。

于 2009-11-12T11:13:10.243 回答