首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存Active Directory数据

问缓存Active Directory数据
EN

Stack Overflow用户
提问于 2008-08-28 19:58:11
回答 4查看 5.2K关注 0票数 4

在我的一个应用程序中,我正在查询active directory,以获得给定用户下所有用户的列表(使用“直接报告”)。因此,基本上,给定人员的姓名,在AD中进行查找,然后读取直接下属。但是,对于每个直接上级,工具都需要检查直接上级的直接上级。或者,更抽象的:该工具将使用一个人作为树的根,然后沿着整个树遍历,以获得所有叶子的名称(可以是几百个)。

现在,我关心的显然是性能,因为这需要做很多次。我的想法是手动缓存(基本上只是将所有名称放在一个长字符串中,并将其存储在某个位置,然后每天更新一次)。

但我想知道是否有更好的方法来先获取信息,然后缓存它,可能是使用System.DirectoryServices命名空间中的内容?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-09-02 09:26:14

为了控制你想要缓存的属性,你可以调用'RefreshCache()‘来传递你想挂起的属性:

代码语言:javascript
复制
System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry();               

// Push the property values from AD back to cache.

entry.RefreshCache(new string[] {"cn", "www" });
票数 3
EN

Stack Overflow用户

发布于 2008-08-28 20:23:47

Active Directory在存储信息方面非常有效,检索应该不会对性能造成太大影响。如果你真的想存储这些名字,你可能会想把它们存储在某种树结构中,这样你就可以看到所有人的关系。根据人数的不同,您可能会提取每天所需的所有信息,然后根据缓存副本查询所有请求。

票数 2
EN

Stack Overflow用户

发布于 2008-08-31 09:46:57

广告为你做了这种缓存,所以不要担心它,除非性能成为问题。我的软件整天都在企业内部网上运行,每小时有成千上万的点击量,而且从来没有在这方面调整过性能。

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

https://stackoverflow.com/questions/33250

复制
相关文章

相似问题

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