Есть необходимость создать COM-объект от имени другого пользователя, не того, от которого работает w3wp.
COM-сервер — out-of-process.
Делаем классическую имперсонацию:
1. LogonUser
2. ImpersonateLoggedOnUser
3. Создаем COM-объект
4. RevertToSelf
5. Работаем с COM-объектом.
Все нормально, работа идет, но если повторить эту операцию — создастся еще один процесс (для того же пользователя!!). Т.е. одновременно работают 2 out-of-process COM-сервера, запущенные на одном компьютере под одним и тем же пользователем, причем модель у COM-сервера — multi-instance.
Как такое возможно и как победить размножение процессов?