-
Как создать MTA COM сервер на Builder? Несмотря на выбранную в мастере потоковую модель Both/Fre - судя по работе с тестовым клиентом сервер ведет себя как STA.
Может нужно еще какой-то define объявить в опциях проекта?
Собственно как проверялось: клиент создает два потока, вводит их в MTA-подразделение. Первый поток создает объект, и начинает дергать метод. Второй поток берет указатель на тот же объект и начинает дергать тот же метод.
Метод сервера вызывает Sleep на 5 секунд и возвращает идентификатор потока в рамках которого он отработал на сервере.
Так вот: в результате в клиенте видим что идентификатор потока не меняется и оба вызова выполняются за 10 секунд, т.е. идут последовательно как было бы при STA-модели сервера.
Написал аналогичный тестовый сервер на VS 2010 - и там проблемы нет, идентификаторы потоков разные и вызовы метода отрабатывают паралельно.
|