我在Server1和Server2上的ASP.NET 4(4.0.30319)应用程序池中部署的webform的代码背后使用以下C#代码。
PrincipalContext pc = new PrincipalContext(ContextType.Domain, "testnet.testad.org:636", "dc=testnet,dc=testad,dc=org"); bool validated = pc.ValidateCredentials(username, password, ContextOptions.Negotiate);
Server1正在运行:Windows Server 2003 SP2
IIS 6.0
ASP.NET版本4.0.30319
服务器1需要30-60秒之间的authentication取决于选项。
(注意:使用普通的ldap,它立即进行身份validation,没有任何延迟)
Server2正在运行:Windows Server 2008 SP2
IIS 7.0
ASP.NET版本4.0.30319
运行与Server1完全相同的代码,Server2几乎可以即时validation。
(我也尝试了与另一个IIS 7.0服务器的代码具有相同的结果)
所以我相信代码是好的,这就是为什么我在serverfault这个问题。
有没有人遇到过这个问题?
有什么我可以补丁或configurationServer1不同的身份validation时间以符合Server2?
感谢您的任何帮助。
………………………………………….. ………………………………………….. ……………………………………
[更新]
我在打开ldaps身份validation请求时打开了wireshark。
我创build了一个包含636以上所有请求的文件。
它可以在这里查看:服务器1 636stream量
最大的差距是:
1949年在1.115583秒 – 第06788号在14.501754秒
和
第6803号在14.64297秒 – 第11742号在27.921379秒
该端口上的所有其他stream量都在同一秒内发生。
注意:Server2上的stream量大致相同,但都在2-3秒之间。
它可以在这里查看: Server2 636stream量
尝试运行进程监视器 ,看看你是否被拒绝:
C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys
如果是这样,请给服务帐户读取访问权限。