Как определить, используется ли мой COM-объект из приложения .NET? - PullRequest
3 голосов
/ 17 мая 2011

У меня есть COM DLL, написанная на Visual C ++.Я полностью контролирую этот код COM DLL.Конечно, его можно использовать как из управляемых, так и из неуправляемых приложений.Я хочу вставить очень специфическую проверку, которая должна выполняться только тогда, когда COM DLL используется приложением .NET.

Есть ли какой-то программный способ для моего COM-объекта определить, используется ли он из.NET приложение или из неуправляемого приложения?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

На подобные вопросы «каково мое окружение» всегда есть один и тот же ответ.У вашего хоста нет проблем с выяснением, управляется ли он, просто добавьте свойство в свой интерфейс, чтобы оно сообщало вам.Тривиальное решение по сравнению с альтернативой.Что невозможно надежно реализовать в COM, множество способов размещения сервера.

1 голос
/ 17 мая 2011

Две возможности:

  1. Создание собственной сборки .NET, обертывающей COM-объект и соответствующим образом инициализирующей его
  2. Попробуйте определить, является ли ваш процесс процессом .NET и жить с проблемами (без монообнаружения, ложных срабатываний, скорее всего, некорректное обнаружение при использовании в контексте DCOM / COM +)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...