Создание удаленного объекта DCOM не удается в IIS 7 с System.UnauthorizedAccessException - PullRequest
0 голосов
/ 09 марта 2011

У меня проблема с созданием удаленного объекта DCOM под IIS 7 (64-разрядная версия Win 2008). На стороне сервера есть служба WCF, которая использует старый компонент DCOM в качестве источника данных. Все отлично работает на сервере веб-разработки и в тестах, но создание удаленного объекта не удается в IIS 7 с " System.UnauthorizedAccessException : получение фабрики классов COM для удаленного компонента с помощью CLSID {DAF3140A-C132-11D2-85FB -004033D061E9} с IP-адреса машины не удалось из-за следующей ошибки: 80070005 IP ".

Я знаю, что есть много статей об ошибке 80070005, но я все перепробовал - безуспешно.

Вот фрагмент кода, как создается объект DCOM:

 Type objBlType = Type.GetTypeFromProgID("NetCatService.CatalogServer.1", netCatServerAddress, true);
 instance = Activator.CreateInstance(objBlType); 

Я предоставил «Все» доступ к своему объекту DCOM с помощью DCOM Config, я попытался настроить пул приложений IIS для использования учетной записи сетевой службы, а также предоставил «Сетевой службе» доступ к DCOM - без удачи. Я использовал инструмент Procmon , чтобы найти дополнительные ресурсы, которые используются, но ничего интересного нет.

Я добавил следующие строки в файл web.config, но также безуспешно

<system.web>
    <trust level="Full" />
    <identity impersonate="true" password="pass" userName="userName" />
</system.web>

Не могли бы вы помочь мне с этой проблемой? Есть идеи?

Спасибо

1 Ответ

1 голос
/ 12 марта 2011

Я решил проблему;

Проблема была в конфигурации безопасности DCOM, я создал службу Windows для размещения в ней своего приложения и получил ту же ошибку: «UnauthorizedAccessException». Это была «пища для размышлений».

После этого я сделал следующие шаги:

1) настроил параметры безопасности DCOM для использования учетной записи домена на стороне сервера.

2) настроил параметры безопасности DCOM для использования учетной записи домена с шага 1 на стороне клиента.

3) изменил настройки входа в службу Windows для использования учетной записи домена с шага 1

4) проверил уровень аутентификации DCOM в настройках безопасности DCOM как на стороне клиента, так и на стороне сервера. Уровень аутентификации должен быть одинаковым.

Чтобы получить работающее приложение в IIS 7, я создал пул приложений и настроил его для использования учетной записи домена с шага 1.

...