COM+ LCE не работает удаленно
От: scs Россия http://mylinks.h1.ru
Дата: 04.07.02 07:10
Оценка:
Здравствуйте!

Я разбираюсь с так называемыми слабо связанными событиями COM+ но у меня не получается получать события на удаленном компьютере в сети.
Что я делаю:
— устанавливаю класс события на comp1;
— экспортирую класс события как прокси;
— устанавливаю класс подписчика на comp1;
— экспортирую класс подписчика как серверное приложение;
— устанавливаю экспортированные классы события и подписчика на comp2;
— создаю подписку в классе подписчика на comp1 и в поле "сервер" прописываю comp2;
— запускаю программу издателя на comp1 и жму "Fire" и... ничего не происходит.

Дополнительно:
— все это работает если я создаю локальную подписку;
— подписчик представляет собой dll, которая в вызове функции класса события создает MsgBox, прямо из dll;
На http://rsdn.ru/article/?com/comevent.xml
Автор(ы): А. Новик
написано что "персистентным подписчиком может быть только COM+ приложение, а оно не может иметь графического интерфейса", но у меня, в принципе, и нет интерфейса, только MsgBox + см.выше.
— на индикаторе состояния сети загораются лампочки когда я жму "Fire", причем на обоих компах;
— на comp2 в журнале системных событий появляются сообщения: Ошибка 10006: "Ошибка DCOM "Ошибка доступа " с компьютера liolick при попытке активизации сервера: {182C40F0-32E4-11D0-818B-00A0C9231C29}"

Вопросы:
— что я сделал не так и почему не работает?
— может с пользователями что надо настраивать (на обоих машинах есть пользователи под которыми все это производилось, но у них разные пароли) и как вообще с правами пользователей это связано (если связано вообще)?
Re: Небольшое дополнение
От: scs Россия http://mylinks.h1.ru
Дата: 04.07.02 12:27
Оценка:
Пробовал запускать приложение COM+ удаленно, опять траблы. Зарегистрировал через "Службу компонентов" на comp1, проэкспортировал прокси установил на comp2 запустил клиента, экземпляр CreateObject'ом создался, а методы не вызываются, ошибку выдает. Хотя локально работает на ура. Похоже что ошибка по той же причине... подскажите что я сделал не так?
Re: COM+ LCE не работает удаленно
От: green_cannibal  
Дата: 04.07.02 23:46
Оценка:
Здравствуйте scs, Вы писали:

scs>Я разбираюсь с так называемыми слабо связанными событиями COM+ но у меня не получается получать события на удаленном компьютере в сети.


У меня похожие проблемы :) Пример из статьи не работает удалённо! Даже когда подписку создаю локально.
У меня неполучилось даже подсоединить удалённый компьютер в Component Services (под Win2000 всё подключалось но было это давно :) Права администратора на удалённом компьютере у меня имеются но это ничего недаёт. В литературе я пару раз наткнулся на упоминание об Active Directory. Может надо обязательно входить в домен? А что если его нет? РК сожалению у меня тоже только вопросы :)
Slayer forever
Re[2]: COM+ LCE не работает удаленно
От: scs Россия http://mylinks.h1.ru
Дата: 05.07.02 06:27
Оценка:
Здравствуйте green_cannibal, Вы писали:

GC>Здравствуйте scs, Вы писали:


GC>У меня неполучилось даже подсоединить удалённый компьютер в Component Services (под Win2000 всё подключалось но было это давно :) Права администратора на удалённом компьютере у меня имеются но это ничего недаёт. В литературе я пару раз наткнулся на упоминание об Active Directory. Может надо обязательно входить в домен? А что если его нет? РК сожалению у меня тоже только вопросы :)


Так у меня под Win2000 и не работает :shuffle:

А подробней можно, на счет прав пользователей? Какие права нужно назначать где и кому и на каких компах?

Дело в том, что когда я в <Службы компонентов->Компьютеры> создаю удаленный компьютер, то он создается, но когда я в нем пытаюсь зайти в папку Приложения COM+, то появляется сообщение: "Ошибка каталога: У вас нет разрешений на выполнение запрошенного действия. Если на конечном компьютере для приложения System задействованы средства безопасности, убедитесь, что вы включены в соответствующие роли.", Где можно настроить эти права? Да, еще в журнал событий "Система" на comp1 переодически приходят сообщения: "Ошибка DCOM "Ошибка доступа " с компьютера comp2 при попытке активизации сервера: {182C40F0-32E4-11D0-818B-00A0C9231C29}", код ошибки 10006, под CLSID {182C40F0-32E4-11D0-818B-00A0C9231C29} зарегистрирован "Сервер каталога COM+" C:\WINNT\system32\catsrv.dll (в regedit'е смотрел).

Вот такие вот грабли... кто-нибудь знает как с эти бороться?

Хе. Я тут поковырялся где-то и у меня в жкрнале стала появляться другая ошибка: "Ошибка DCOM "Ошибка доступа " с компьютера LIOLICK при попытке активизации сервера: {ECABAFB9-7F19-11D2-978E-0000F8757E2A}", код ошибки 10006, под CLSID {ECABAFB9-7F19-11D2-978E-0000F8757E2A} зарегистрирован "Компонент отслеживания экземпляров COM+"... Вот ведь... :???:
Re: Разобрался
От: scs Россия http://mylinks.h1.ru
Дата: 05.07.02 12:17
Оценка:
Все заработало!

Оказывается проблема была в пользователях: на обоих машинах нужно чтобы были зарегистрированы пользователя с одинаковыми именами.

А вообще кто нибудь может рассказать как действует политика безопасности в COM+? Или где про это можно почитать?
Re[2]: Разобрался
От: green_cannibal  
Дата: 08.07.02 05:46
Оценка:
Здравствуйте scs, Вы писали:

scs>...на обоих машинах нужно чтобы были зарегистрированы пользователя с одинаковыми именами.

И обязательно с одинаковыми паролями, если таковые существуют.
Но и это только под Win2000. XP требует больших зананий :crash:
scs>А вообще кто нибудь может рассказать как действует политика безопасности в COM+? Или где про это можно почитать?
В сигнальном номере RSDNа есль статья "Защита в DCOM/COM+" но к сожалению она недоступна. Если что-то найдёшь брось ссылкой.
Slayer forever
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.