1

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

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

谢谢你!

4

2 回答 2

2

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

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

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

于 2011-08-01T15:50:32.610 回答
0

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

于 2011-08-02T02:42:47.107 回答