Конференция "Corba" » MTA-сервер на C++ Builder XE [C++ Builder, Windows]
 
  • Слава Антонов (06.09.11 06:25) [0]
    Как создать MTA COM сервер на Builder?
    Несмотря на выбранную в мастере потоковую модель Both/Fre - судя по работе с тестовым клиентом сервер ведет себя как STA.

    Может нужно еще какой-то define объявить в опциях проекта?

    Собственно как проверялось: клиент создает два потока, вводит их в MTA-подразделение. Первый поток создает объект, и начинает дергать метод. Второй поток берет указатель на тот же объект и начинает дергать тот же метод.

    Метод сервера вызывает Sleep на 5 секунд и возвращает идентификатор потока в рамках которого он отработал на сервере.

    Так вот: в результате в клиенте видим что идентификатор потока не меняется и оба вызова выполняются за 10 секунд, т.е. идут последовательно как было бы при STA-модели сервера.

    Написал аналогичный тестовый сервер на VS 2010 - и там проблемы нет, идентификаторы потоков разные и вызовы метода отрабатывают паралельно.
 
Конференция "Corba" » MTA-сервер на C++ Builder XE [C++ Builder, Windows]
Есть новые Нет новых   [118427   +4][b:0][p:0]