是System.DirectoryServices.AccountManagement.GroupPrincipal线程安全吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是System.DirectoryServices.AccountManagement.GroupPrincipal线程安全吗?相关的知识,希望对你有一定的参考价值。
我正在编写一个将批量创建用户的程序,我有一个操作,它是创建的一部分,是块大约5秒,为了解决这个问题,我将使它成为线程并让所有东西都在线程池中。
我的问题是,如果我在线程外创建原则并将组原则传递给线程并调用group.Members.Add(u)
和group.Save()
我可以遇到麻烦吗?从每个线程中生成一个新的组主体会更好吗?
来自MSDN:
此类型的任何公共静态(在Visual Basic中为Shared)成员都是线程安全的。任何实例成员都不保证是线程安全的。
这个小注释在文档中非常常见。由程序员决定“线程安全”的含义以及如何控制并发访问权限取决于您。
每当两个线程作用于同一个集合实例时,您就不安全了。如果您只是使用单个后台线程,因此UI不会阻塞,那么在后台线程中创建组并专门使用它。如果你的计划是通过产生多个线程同时命中Active Directory来加速将用户添加到组中,我猜这样做无济于事。
以上是关于是System.DirectoryServices.AccountManagement.GroupPrincipal线程安全吗?的主要内容,如果未能解决你的问题,请参考以下文章
System.DirectoryServices & IIS - 获取用户名
DirectoryEntry 甚至没有添加命名空间 System.DirectoryServices? [关闭]
无法在 IIS 托管应用程序上使用 System.DirectoryServices.AccountManagement 获取 LDAP 数据
是System.DirectoryServices.AccountManagement.GroupPrincipal线程安全吗?
C# 使用 System.DirectoryServices.Protocols 针对 MS Active Directory 服务器验证用户