Я пытаюсь запустить простой запрос LDAP, используя службы каталогов в .Net.Ошибка 0x80005000 и DirectoryServices
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://someserver.contoso.com/DC=contoso,DC=com");
directoryEntry.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = string.Format("(&(objectClass=user)(objectCategory=user) (sAMAccountName={0}))", username);
var result = directorySearcher.FindOne();
var resultDirectoryEntry = result.GetDirectoryEntry();
return resultDirectoryEntry.Properties["msRTCSIP-PrimaryUserAddress"].Value.ToString();
И я получаю следующее исключение:
System.Runtime.InteropServices.COMException (0x80005000): Unknown error (0x80005000)
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
at System.DirectoryServices.DirectorySearcher.FindOne()
Как сниппета в приложении консоли, это работает. Но когда я запускаю его как часть службы WCF (запускается под теми же учетными данными), он выдает исключение выше.
Любые предложения?
Спасибо
Я зашел на сервер, на котором этот процесс запущен, как учетная запись службы, которую я настроил для службы WCF для работы, - поэтому они используют одинаковые учетные данные? – GodEater
OK - можете ли вы пройти через код (или записать сообщения трассировки), чтобы узнать, где именно происходит это исключение? –
0x80005000 - довольно «шаблонная» ошибка и может означать что угодно ... –