コード例 #1
0
 private IAzManSid[] getCachedLDAPQueryResults(IAzManApplicationGroup applicationGroup)
 {
     string key = "applicationGroup " + applicationGroup.ApplicationGroupId.ToString();
     if (!this.ldapQueryResults.ContainsKey(key))
     {
         lock (ldapQueryResults)
         {
             if (!this.ldapQueryResults.ContainsKey(key))
             {
                 //LDAP Group
                 var ldapQueryResult = applicationGroup.ExecuteLDAPQuery();
                 if (ldapQueryResult != null)
                 {
                     IAzManSid[] membersResults = new IAzManSid[ldapQueryResult.Count];
                     for (int i = 0; i < ldapQueryResult.Count; i++)
                     {
                         membersResults[i] = new SqlAzManSID((byte[])ldapQueryResult[i].Properties["objectSid"][0]);
                     }
                     this.ldapQueryResults.Add(key, membersResults);
                 }
             }
         }
     }
     return (IAzManSid[])this.ldapQueryResults[key];
 }