Exemplo n.º 1
0
        /// <summary>
        /// Creates a SearchResultReference. For LDAP v3 only.
        /// </summary>
        /// <param name="context">The user context which contains message ID.</param>
        /// <param name="referenceUrls">The referenced URL.</param>
        /// <returns>The packet that contains the response.</returns>
        internal override AdtsSearchResultReferencePacket CreateSearchResultReference(
            AdtsLdapContext context,
            string[] referenceUrls)
        {
            int length = (referenceUrls != null) ? referenceUrls.Length : 0;

            LDAPURL[] ldapUrlArray = new LDAPURL[length];
            for (int i = 0; i < length; i++)
            {
                ldapUrlArray[i] = new LDAPURL(referenceUrls[i]);
            }
            SearchResultReference reference = new SearchResultReference(ldapUrlArray);

            LDAPMessage_protocolOp operation = new LDAPMessage_protocolOp();

            operation.SetData(LDAPMessage_protocolOp.searchResRef, reference);

            LDAPMessage message = new LDAPMessage(new MessageID(context.MessageId), operation, null);
            AdtsSearchResultReferencePacket packet = new AdtsSearchResultReferencePacket();

            packet.ldapMessagev3 = message;
            packet.messageId     = context.MessageId;

            return(packet);
        }
Exemplo n.º 2
0
        static void NotificationSearchCallback(IAsyncResult asyncRes)
        {
            asyncCallbackFinished = false;

            Console.WriteLine("AsyncCallback invoked.");

            Console.WriteLine("IAsyncResult.IsCompleted:" + asyncRes.IsCompleted);

            Console.WriteLine("Retrieving partial results.");
            PartialResultsCollection partialResults =
                ldapConnection.GetPartialResults(asyncRes);

            int count = 0;

            foreach (object obj in partialResults)
            {
                count++;
                if (obj is SearchResultEntry)
                {
                    SearchResultEntry entry = (SearchResultEntry)obj;
                    Console.WriteLine(entry.DistinguishedName +
                                      ": Description:" + entry.Attributes["description"][0]);
                }
                else if (obj is SearchResultReference)
                {
                    SearchResultReference reference = (SearchResultReference)obj;
                    Console.WriteLine("SearchResultReference:");
                    foreach (Uri uri in reference.Reference)
                    {
                        Console.WriteLine(uri);
                    }
                }
            }
            asyncCallbackFinished = true;
        }
Exemplo n.º 3
0
 public int IndexOf(SearchResultReference value)
 {
 }
Exemplo n.º 4
0
 // Methods
 public bool Contains(SearchResultReference value)
 {
 }
 public int IndexOf(SearchResultReference value)
 {
 }
 public void CopyTo(SearchResultReference[] values, int index)
 {
 }
 // Methods
 public bool Contains(SearchResultReference value)
 {
 }