次のコードを考えると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) を調べると、「新しく」作成されたプリンシパルがどこにも見つからないため、作成されておらず、例外が何らかの形で横たわっていると想定しています。
これについて何か助けていただければ幸いです。前もって感謝します。