【发布时间】:2012-08-21 22:25:13
【问题描述】:
鉴于以下代码,当我知道主体不存在且实际上并未生成的事实时,为什么我会得到 PrincipalExistsException?
public UserPrincipal Add(
string givenName,
string surname,
string domain) {
UserPrincipal principal = new UserPrincipal(context: base.Context) {
Enabled = true
};
if (!String.IsNullOrEmpty(givenName) && !String.IsNullOrEmpty(surname) && !String.IsNullOrEmpty(domain)) {
this.RenameInternal(principal: principal, givenName: givenName, surname: surname, domain: domain);
principal.Save();
};
return principal;
}
我可以确认RenameInternal() 方法工作得很好,因为它被一个名为Rename() 的方法调用。因此,对象的创建和/或保存方式肯定存在问题,但我不知道如何找出错误所在。这看起来很简单的代码......
查看域控制器 (Windows Server 2008 R2) 我无法在任何地方找到“新”创建主体,因此我假设它没有被创建并且异常以某种方式欺骗了我。
如果能提供任何帮助,我将不胜感激。提前致谢。
【问题讨论】:
标签: c# active-directory windows-server-2008-r2 directoryservices