新しいアプリケーション用にローカル マシン (Windows Server 2008 R2 ボックス) に ADLDS インスタンスをセットアップし、それにアクセスするためにいくつかの .Net コードをノックアップしました。これは私がテストしている関数の 1 つで、かなり単純なものであることがわかります。
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
繰り返し発生していることの 1 つは、テスト ベッド アプリケーションからインスタンスにアクセスするために、この関数またはその他の関数を初めて呼び出すときに、最大 18 秒の遅延が発生することです。AD LDS インスタンスに対して行われる後続の呼び出しは、40 ミリ秒程度です。インスタンスを数分間クエリしないままにしておくと、呼び出しは最初の呼び出しで 18 秒かかるようになります。
イベント ログに不都合な点は見つかりません。また、さまざまな方法でインスタンスに接続しようとしましたが (ローカルとドメインの両方の Windows アカウントを使用して、上記のようにインスタンスで定義されたユーザーに単純にバインドします)、最初のヒットでこの 18 秒の追加の遅延が常に発生します。これを引き起こす原因や、診断/修正方法について誰か教えてもらえますか?