Tag: 目录服务

PermissiveModifyControl在C#LDAP中抛出DirectoryOperationException

使用System.DirectoryServices.Protocols命名空间在Active Directory组上添加/修改属性。 码: public void UpdateProperties(Dictionary Properties) { List directoryAttributeModifications; // … Code to convert Properties dictionary to directoryAttributeModifications // There is one ‘Add’ modification, to set the ‘description’ of the group ModifyRequest modifyRequest = new ModifyRequest(groupDistinguishedName, directoryAttributeModifications.ToArray()); modifyRequest.Controls.Add(new PermissiveModifyControl()); ModifyResponse response = connection.SendRequest(modifyRequest) as ModifyResponse; PermissiveModifyControl旨在防止代码在描述已存在时失败。 我发现PermissiveModifyControl的唯一信息在这里: http : //msdn.microsoft.com/en-us/library/bb332056.aspx 其中说明: 如果LDAP修改请求尝试添加已存在的属性或尝试删除不存在的属性,则它通常会失败。 使用PermissiveModifyControl ,修改操作成功,而不会抛出DirectoryOperationException错误。 […]

在名称空间“System”中无法识别System.DirectoryServices

我正在尝试在网站项目中使用System.DirectoryServices ,我收到此错误: 命名空间“系统”中不存在类型或命名空间名称“DirectoryServices”(您是否缺少程序集引用?) 我的项目在web.config引用了System.DirectoryServices : 我确实在我想要使用它的文件中using System.DirectoryServices 。 有没有人知道在哪里寻找问题?

DirectorySearcher FindOne()在初始执行时延迟

我在执行DirectorySearcher FindOne()和我看到的第一个网络数据包之间的初始延迟时间为2-5秒。 初始执​​行后,后续执行立即完成约45秒。 在快速执行的那段时间之后,下一次执行将被延迟,并且所有后续执行将立即完成。 似乎有某种缓存正在进行,但我无法找到任何确认或描述导致初始延迟的资源。 我们在客户端Windows 2008服务器上注意到了这一点,然后在我们自己的Windows 2008和Windows 7盒子上重现。 这是我简单的.NET 4.0 C#应用程序的样子。 延迟发生在“已启动”和“已完成”消息之间。 知道为什么这个延迟发生在最初的FindOne()执行上? 任何帮助深表感谢! using System; using System.Collections.Generic; using System.Text; using System.DirectoryServices; namespace LdapTest { class Program { static void Main(string[] args) { string[] fetchAttributes; fetchAttributes = new string[] { “{string[0]}” }; using (DirectoryEntry searchRoot = new DirectoryEntry(“LDAP://localserver/ou=lab,dc=ourdomain,dc=com”, “cn=binduser,ou=Services,dc=ourdomain,dc=com”, “Password”, AuthenticationTypes.ReadonlyServer)) { using (DirectorySearcher […]