LdapConnection Bind() - 它超时吗?

时间:2011-08-01 14:38:45

标签: c# ldap ldapconnection

我有一些代码允许管理员管理其组织的用户/组等并执行扩展命令(例如禁用帐户等)。此代码与主用户应用程序完全分开,只能由管理员访问。因此,我使用admin用户连接到LDAP,因此我可以访问我需要的所有命令。

我想知道的是,如果我可以简单地实例化我的LdapConnection,然后绑定到服务器然后缓存该连接以在整个应用程序中使用(将其存储在Application对象或Session中),而不是实例化它和每次我需要打电话时绑定?换句话说,LdapConnection对象在一定时间后是否会过期或超时或解除绑定?看起来它在连接对象上有一个“超时”属性,但似乎是每个单独的调用。我是否正确地假设一旦我绑定我可以继续使用该连接?任何设计理由不这样做?

谢谢你!

2 个答案:

答案 0 :(得分:2)

根据您正在使用的目录服务器的配置,它可能配置为:

  • 超时空闲连接
  • 对每个连接的操作数量施加限制
  • 对运营率施加限制
  • 允许客户端无限期保持联系

通过使用BIND操作(称为为连接建立授权状态)将连接与身份验证标识关联后,该身份验证状态在连接的生命周期内保持有效,或直到在该连接上发送下一个BIND请求。

答案 1 :(得分:0)

我不是C#专家,但我希望LdapConnection对象覆盖连接池,而不是代表物理连接本身。