2008-11-10 8 views
4

제품의 SSL 버그를 수정하려고하는데 코드가 SSL로 설정되어 있지만 코드의 다음 줄에 여전히 false로 표시되어 있음을 알았습니다 . 나는 이것을위한 단위 테스트를 썼고 단위 테스트는 나의 의심을 확인한다.DirectoryServices.Protocols.LdapConnection을 사용하여 SecureSocketLayer를 설정할 수 없습니다.

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

테스트에 실패했습니다. 내가 놓친 뭔가가 여기 있니?

답변

6

DirectoryServices.Protocols가 LDAP 호출을 구현하는 방법은 낮은 수준의 LDAP API로 전달하는 것입니다. 이 LDAP API는 속성에서 get이 수행 될 때 쿼리되는 항목입니다.

저급 API는 메소드 실행시에만 업데이트됩니다. 아직 실행되지 않은 실행 파일에 대한 명령 줄 인수를 작성하는 것처럼 생각할 수 있습니다.

Bind()와 같은 호출이 만들어지면 실행 파일이 시작되고 속성에서 올바른 값을보고합니다.

그래서 속성이 값이 false라고 말했기 때문에 필요한 경우 true를 사용하고있었습니다.