LdapConnection 超时与 SearchRequest 超时

LdapConnection timeout vs SearchRequest timeout

哪个优先?

假设您创建了一个新的 LdapConnection 并将其超时 属性 设置为 30 秒。

 LdapConnection ldapConn = new LdapConnection(hostName + ":" + port)
            {
                Timeout = TimeSpan.FromSeconds(30)
            }

稍后当您提交 SearchRequest 时,您还再次指定 30 秒的超时,如下所示:

  var response = (SearchResponse)connection.SendRequest(req, TimeSpan.FromSeconds(30));

连接的寿命显然比请求长,因此我希望第二个超时与请求相关联,而第一个超时与连接相关联。想来也没有什么意义,所以请教各位高手。由于连接是在超时的情况下创建的,它的超时优先吗?

连接在您上次使用 30 秒后超时。搜索请求在您提交后 30 秒超时。如果您在上次使用连接后 31 秒提交搜索请求,您将获得连接超时。如果您早点提交,它将在 30 秒后超时,作为搜索超时,因为连接仍在用于搜索。