System.Environment.UserName внутренне вызывает
[DllImport ("advapi32.dll", CharSet = CharSet.Auto)]
внутреннее статическое внешнее bool GetUserName (StringBuilder lpBuffer, ref int nSize);
Кажется, что каждый вызов поражает AD, поэтому задержка сети и запрос AD влияют на скорость выполнения.
Знаете ли вы, если есть лучший способ получить это значение?
Может быть, что-то вроде кэшированного SID где-то в теме?
Поэтому я мог читать UserName & SID и кэшировать их локально (на время выполнения) и запрашивать только System.Environment.UserName, когда я получу новый SID (или что-то в этом роде).
Спасибо