我有这个代码:
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;
它在不到一秒的时间内运行 - 明显更快。建议重写的人和我一样一无所知,为什么它运行得更快。
为什么它会产生任何性能差异?