Доброго всем времени суток
Есть несколько старых unmanaged приложений А1 А2 А3 и т.д. которые могут вызывать функции из unmanaged dll. Задач состоит в том чтобы прикрутить к этому общее managed приложение N, в котором будет находиться корректирующая логика для приложений А. Пока вижу такую цепочку взаимодействия А -> dll -> COM+ -> N. Не нравится мне в этой цепочке наличие COM+ который по сути будет простым ретранслятором вызовов , можно ли как нибудь уйти от COM+ в этой цепочке?
PS Рассматривал вариант передачи данных между dll и N по портам, но както не камильфо получается помоему
Здравствуйте, SHDN, Вы писали:
SHD>Доброго всем времени суток SHD> Есть несколько старых unmanaged приложений А1 А2 А3 и т.д. которые могут вызывать функции из unmanaged dll. Задач состоит в том чтобы прикрутить к этому общее managed приложение N, в котором будет находиться корректирующая логика для приложений А. Пока вижу такую цепочку взаимодействия А -> dll -> COM+ -> N. Не нравится мне в этой цепочке наличие COM+ который по сути будет простым ретранслятором вызовов , можно ли как нибудь уйти от COM+ в этой цепочке? SHD> PS Рассматривал вариант передачи данных между dll и N по портам, но както не камильфо получается помоему
Здравствуйте, SHDN, Вы писали:
SHD> Есть несколько старых unmanaged приложений А1 А2 А3 и т.д. которые могут вызывать функции из unmanaged dll. Задач состоит в том чтобы прикрутить к этому общее managed приложение N, в котором будет находиться корректирующая логика для приложений А. Пока вижу такую цепочку взаимодействия А -> dll -> COM+ -> N. Не нравится мне в этой цепочке наличие COM+ который по сути будет простым ретранслятором вызовов , можно ли как нибудь уйти от COM+ в этой цепочке?
Что есть в вашем понимании COM+ и какие сервисы вам из него требуются? dll может быть написана на C++/CLI в этом случае все будет выглядеть как:
A -> dll(managed code) -> N
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
TK>Что есть в вашем понимании COM+ и какие сервисы вам из него требуются? dll может быть написана на C++/CLI в этом случае все будет выглядеть как:
В том то и дело что сервисы COM+ мне не нужны, в этой схеме он использоваться планируется как ретранслятор, прельщает же простота разработки взаимодействия unmanaged -> managed
TK>A -> dll(managed code) -> N
Это возможно только если сделать так, чтобы приложения А глядя на функции managed dll видели обыкновенные _stdcall функции... возможно ли такое?
как раз рассматривается механизм доступа из unmanaged приложений (даже скомпилированных без ключа /clr) к managed.
Спасибо — смотрю, что пока смущает: проект планировался на C# , а тут кусок придется делать на C++ (а я в не не очень силен)... но подход который там предлагается определенно интереснее, всетаки не требующая регистрации dll выглядит поизящнее чем COM+ в данной ситуации