我在C#.Net 4中有一段简单的代码,在System.DirectoryServices中的DirectorySearcher上调用.FindAll()时会随机发出访问冲突
该方法所做的就是找出用户是否在Active Directory中加载并返回 目录录入。
我搜索过网络,可以在SharePoint博客和论坛中找到多个异常提及,但没有一个来自普通的C#.net 4服务。
我的问题是我的服务会发生同样的访问,因此我需要使用相同的修补程序来解决我的问题吗?
代码:
deSearch.Filter = String.Format("(&(SAMAccountName={0}))", userName);
using (SearchResultCollection results = deSearch.FindAll())
{
if (results.Count > 0)
{
de = results[0].GetDirectoryEntry();
return de;
}
else
return null;
}
例外:
System.AccessViolationException:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。 在System.DirectoryServices.Interop.UnsafeNativeMethods.IntADsOpen.GetObject(String className,String relativeName) at System.DirectoryServices.DirectoryEntries.Find(String name,String schemaClassName) 在System.DirectoryServices.DirectoryEntries.Find(String name)