System.DirectoryServices работает медленно?

Я использую приведенный ниже код для поиска информации в активном каталоге, когда пользователь входит на сайт. Работать с локальным доменом очень быстро, а через VPN к удаленному доверенному домену - очень медленно (занимает около 7 или 8 секунд). Запуск dsa.msc из той же коробки в удаленный домен почти такой же быстрый, как и локальный.

Я использую фильтрацию свойств для извлечения минимально возможного объема данных, так что в этом сценарии есть какие-то медленные особенности System.DirectoryServices или у кого-нибудь есть какие-либо советы о том, как повысить производительность?

Сетевое соединение через VPN в порядке, только этот код работает медленно.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var LDAPConnection = new DirectoryEntry("LDAP://domain/dc=domain,dc=com", "username", "password"))
            {
                LDAPConnection.AuthenticationType = AuthenticationTypes.Secure;
                using (DirectorySearcher Searcher = new DirectorySearcher(LDAPConnection))
                {
                    Searcher.Filter = "(&(&(objectclass=user)(objectcategory=person))sAMAccountName=username)";
                    Searcher.PropertiesToLoad.Add("mail");

                    SearchResult result = Searcher.FindOne(); //this line takes ages!

                    string EmailAddress = result.Properties["mail"][0].ToString();
                    Console.WriteLine(EmailAddress);
                }
            }
        }
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос