私はこのコードを持っていました:
var context = new PrincipalContext( ContextType.Machine );
var user = UserPrincipal.FindByIdentity( context, username );
実行に約2〜3秒かかりました。PrincipalSearcher
クラスを使用して書き直すことをお勧めしました:
var context = new PrincipalContext( ContextType.Machine );
var user = new UserPrincipal(context);
user.SamAccountName = username;
var searcher = new PrincipalSearcher(user);
user = searcher.FindOne() as UserPrincipal;
実行時間は 1 秒未満です。特に高速です。書き直しを勧めた人は、なぜそれが速く動くのか、私と同じくらい無知です。
なぜパフォーマンスに違いが生じるのでしょうか?