У меня есть экземпляр ADLDS, настроенный на локальном компьютере (Windows Server 2008 R2) для нового приложения, и я создал некоторый код .Net для доступа к нему. Это одна из функций, которую я тестирую, как видите, она довольно проста.
Dim MyLdapUri As New Uri(searchRoot)
Using MyContext As New PrincipalContext(ContextType.ApplicationDirectory,
MyLdapUri.Authority,
MyLdapUri.LocalPath.Substring(1), ContextOptions.SimpleBind,
strUsername, strPassword)
Return UserPrincipal.FindByIdentity(MyContext, IdentityType.Name, username)
End Using
Одна вещь, которую я обнаруживаю постоянно, - это задержка ~ 18 секунд при первом вызове этой или любой другой функции для доступа к экземпляру из приложения для тестового стенда. Последующие вызовы экземпляра AD LDS занимают порядка 40 мс. Как только вы оставляете инстанс незапрошенным в течение нескольких минут, вызовы возвращаются к 18-секундному первому вызову.
В журналах событий не могу найти что-то нехорошее. Я также пробовал подключаться к экземпляру различными способами (простая привязка к пользователю, определенному в экземпляре, как указано выше, с использованием как локальной, так и доменной учетных записей Windows), и эта дополнительная задержка в 18 секунд при первом попадании всегда происходит. Может ли кто-нибудь дать мне какие-либо указания на то, что вызывает это и / или как я могу его диагностировать / исправить?