首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建PrincipalSearcher需要很长时间

创建PrincipalSearcher需要很长时间
EN

Stack Overflow用户
提问于 2022-05-10 09:22:21
回答 1查看 48关注 0票数 0

创建一个用于访问本地PrincipalSearcher的ActiveDirectory实例大约需要11-22秒。有趣的是,时间总是11或22秒,+/-几毫秒。我试图读出的OU由不超过30个用户和20个组组成。如果我理解正确的话,那么在创建PrincipalSearcher的过程中就会完全阅读AD。但是因为我的广告很小,所以我不希望花那么长时间。我是做错什么了还是这是一种预期的行为?

这是我用来再现所描述的行为的测试代码。

代码语言:javascript
复制
const string name = "localhost:389";
const string container = "OU=OUNAME,DC=DCNAME,DC=local";
var principalContext = new PrincipalContext(ContextType.ApplicationDirectory, name, container);
var userPrincipal = new UserPrincipal(principalContext);
// The next call takes about 22 - 44 seconds
var principalSearcher = new PrincipalSearcher(userPrincipal);
var result = principalSearcher.FindAll();

当我进行性能分析时,我会得到以下结果:

更新#1:

本地AD是用and完成的,我发现this question似乎描述了类似的问题。但我同时拥有AD和应用程序,它们运行在同一台机器上,我使用的是localhost127.0.0.1。所以这对我的案子没什么帮助。

更新2:

如果我不再连接到公司的域名,相同的代码只需100‘s。是什么导致了这种不同的行为?更重要的是,在连接到域时,我如何克服这种行为?

EN

回答 1

Stack Overflow用户

发布于 2022-05-10 14:30:23

尝试使用options参数的PrincipalContext constructor,看看某些组合是否解决了您的问题。

默认的(如果您没有指定任何内容)是:

代码语言:javascript
复制
ContextOptions.Negotiate | ContextOptions.Signing | ContextOptions.Sealing

但是看看combination of ContextOptions有什么不同,如果有的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72183758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档