使用DirectoryEntry
通过端口636连接到DMZ中的已命名Active Directory服务器(即不在域中),然后使用DirectorySearcher
提取属性。为什么我的Active Directory服务器使用缓慢的初始响应?
字符串
string serverPath = "LDAP://some.domain.com:636/OU=XXXX,DC=xxxx,DC=xxxxxxxxx";
var searchRoot = new DirectoryEntry(
serverPath,
User,
Pass,
AuthenticationTypes.Secure);
第一个查询是很慢的,周围22-25秒。有人向我解释说,这可能是因为IIS 7.5可能正在AD服务器上查找CRL上的证书,但没有得到答复。然后,后续查询接受该答案,直到该过程超时,以便下一个查询再次花费22-25秒。
我在代码示例中描述的连接类型实际上是否拉取证书,还是仅通过端口以加密状态发送流量,而没有服务器与证书之间的握手?
我强制要求IIS有一个证书以及这个工作吗?我应该说我正在使用这种模式:http://forums.asp.net/p/907421/1007517.aspx。
你见过这个帖子:http://www.velocityreviews.com/forums/t768204-directoryentry-nativeobject-slow-with-asp- net-but-fast-in-exe.html – 2012-04-03 18:35:21
不用了,我只是经历了它。非常相似的情况,但不幸的是,该线程中的建议无效。 – mmcglynn 2012-04-03 18:54:26
值得一试。不幸的是,我没有回答你的问题,但是认为这可能是值得发布的事件,因为这是一个解决方案,或者是别人有问题,而且这个帖子很有帮助。 – 2012-04-03 19:10:45