6

製品の SSL に関するバグを修正しようとしていますが、コードでは SSL が true に設定されていますが、コードの次の行では SSL が false のままであることに気付きました。このための単体テストを作成しましたが、単体テストは私の疑いを裏付けています。

  [TestMethod]
  public void SecureSocketLayerSetToTrue( )
  {
     var ldapConnection = new LdapConnection( 
                                new LdapDirectoryIdentifier( "ldap.test.com", 636 ));
     ldapConnection.SessionOptions.SecureSocketLayer = true;
     Assert.IsTrue( ldapConnection.SessionOptions.SecureSocketLayer );
  }

テストは失敗します。ここに何か欠けているものはありますか?

4

1 に答える 1

8

DirectoryServices.ProtocolsがLDAP呼び出しを実装する方法は、それらを低レベルのLDAPAPIに渡すことです。このLDAPAPIは、プロパティでgetが実行されたときに照会されるものです。

低レベルAPIは、メソッドが実行されたときにのみ更新されます。これは、まだ起動されていない実行可能ファイルのコマンドライン引数を作成しているように考えることができます。

Bind()のような呼び出しが行われると、実行可能ファイルが起動され、プロパティは正しい値を報告します。

したがって、プロパティが値がfalseであると言っているという理由だけで、必要に応じてtrueを使用していました。

于 2008-11-16T09:14:39.687 に答える