Межпользовательское COM-взаимодействие - PullRequest
0 голосов
/ 26 августа 2009

Я использую стороннюю базу данных. Хост-приложение запускает базу данных и позволяет клиентским приложениям подключаться к серверному приложению через COM. Я использую Windows 2003 Server и пишу весь мой код на C #.

На сервере я вхожу в систему под именем UserA и могу запустить приложение хоста локально, а затем запустить написанное мной клиентское приложение, которое прекрасно подключается.

Когда я остаюсь вошедшим в систему как пользователь A, запустив приложение хоста, я вхожу одновременно как пользователь B через удаленный рабочий стол и запускаю только клиентское приложение от имени пользователя B, ожидая, что оно подключится к запущенному процессу хоста на рабочем столе пользователя A. Не удается подключиться.

Есть ли какие-нибудь хитрости, чтобы заставить COM-доступ работать через логины пользователей на одном компьютере?

Я не могу запустить более одной копии хост-процесса, или я, очевидно, сделал бы это.

1 Ответ

1 голос
/ 26 августа 2009

Откройте Службы компонентов (я не уверен, где это для Server 2003, но, вероятно, под административными инструментами).

Разверните до Службы компонентов-> Мой компьютер-> Конфигурация DCOM.

Найдите приложение, к которому вы хотите подключиться, щелкните правой кнопкой мыши и перейдите в свойства. В режиме безопасности вы должны иметь возможность устанавливать права на запуск, активацию и доступ.

Вам нужно будет нажать кнопку-переключатель Настроить, прежде чем вы сможете редактировать разрешения. Вам нужно будет добавить всех пользователей, которых вы хотите, и запускать и активировать, а также Access.

...