Преминаване от COM към DCOM

Имам COM сървър извън proc (базиран на ATL) и Java приложение, което инстанцира обекти от този COM сървър на същата машина.

Какво повече е необходимо, за да го активира DCOM? Необходима ли е работа само върху COM сървъра или сървъра и клиента?


person Hannes de Jager    schedule 23.07.2009    source източник
comment
Може би трябва да попитате автора на COM компонента?   -  person John Saunders    schedule 15.09.2009


Отговори (2)


Обикновено всичко, от което се нуждаете, е да имате регистриран прокси интерфейс от страна на клиента (както и от страна на сървъра) чрез regsvr32. Ако всичките ви ATL обекти са базирани на IDispatch и така ги наричате (не чрез потребителски интерфейс), тогава проксито по подразбиране вече е регистрирано на машини с Windows.

В този момент трябва само да посочите името на машината на сървъра, където се намират действителните обекти.

Както при всяко DCOM отдалечено управление, може да имате проблеми с DCOM разрешенията от клиента към сървъра, които обикновено могат да бъдат решени с помощта на DCOMCnfg от страната на сървъра (Вероятно и от клиента, ако се използват обратни извиквания). И, разбира се, потенциални проблеми със защитната стена - може да се наложи да разрешите изключение за порт 135 (RPC Mapper, използван от DCOM), за да премине през сървъра.

person Ruddy    schedule 15.01.2010

Знам, че това не е директен отговор, но не мога да не си помисля, че може би DCOM вече не е правилното решение. Вместо това можете да обвиете функционалността на COM обекта в WCF уеб услуга, която може лесно да бъде извикана от Java или C# или друго. Моля, обмислете тази алтернатива.

person Steven Sudit    schedule 23.07.2009
comment
Да, съгласен съм, но разполагам със система, която използва библиотеката за осребряване на Outlook на Dmitry (която е COM), за да общува с Exchange Server и се страхувам, че съм твърде далеч от цикъла на пускане. Всъщност това, което искам да направя, е да използвам библиотеката за осребряване от 64-битов Java процес, но Redemption (поради зависимостта му от MAPI) идва само в 32 бита, следователно моят DCOM въпрос. - person Hannes de Jager; 23.07.2009
comment
Съжалявам, но няма да мога да предоставя надеждна информация тук; познанията ми за DCOM са остарели. - person Steven Sudit; 24.07.2009
comment
Сблъсках въпроса ви с надеждата, че ще привлече повече внимание. - person Steven Sudit; 24.07.2009