0

我有一个设置为查询我们的 Clearquest 数据库以每 9000 毫秒自动向用户返回信息的工具。我今天进来,周末连接超时,我在 oSession 对象中发现了一个“检查心跳”功能,但我不确定我想用它来确定是否需要“重新登录” ",我看到了一个 db.timeoutinterval,但我似乎找不到任何关于如何调用它的好的参考,因为 oSession 对象实际上并没有调用它,并且 API 指南中的任何参考都提到了它实际上使用 adminsession 对象创建数据库。我需要创建什么“对象”来访问超时间隔以及如何创建?感谢您的帮助!还是使用“检查心跳功能”更好

4

2 回答 2

0

长话短说,我不知道 checkheartbeat 实际上做了什么,但在我尝试做一些 clearquest 的事情(查询等)之前,我用我的 oSession 对象进行了调用。如果会话已过期,我不确定 checkheartbeat 是否会返回布尔值,所以我将它放在 try catch 块中

Try
   If Not oSession.CheckHeartbeat Then
      'insert login function here
      MsgBox("Had to re-login false Heartbeat")
   End If
Catch ex As Exception
    'insert login function here
    MsgBox("Had to re-login Exception style")
End Try

到目前为止,我还没有超时,所以我无法真正测试这一点。如果时间到了,我有一个超时。然后我会更新我发现的内容。

于 2010-04-15T12:52:15.933 回答
0

CheckHeartbeat 仅适用于许可证。它不会影响或检查会话超时。CheckHearbeat 将向许可证服务器发送一个心跳,告诉它许可证仍在使用中。查看会话是否超时的唯一方法是尝试某些操作并查看是否发生错误。

如果您计划在较长的时间间隔之间执行 CQ 操作,最好的做法是注销,然后在需要重做操作时再次登录。这会立即释放 Db 连接。

另请注意,您可以更改数据库超时,如果您想确保连接不会保持太久,则可能不建议这样做。更改数据库超时的属性位于 Database 对象及其称为 TimeoutInterval 上。然后您需要调用 ApplyPropertyChanges 将它们应用到数据库。更改是永久性的,即所有未来的会话都使用新的超时。您随时可以再次更改它。

于 2017-01-27T21:31:37.177 回答