Здравствуйте, TK, Вы писали:
TK>Вообще-то для Both объектов хранить внутреннее состояние не рекомендуется.
Это c чего? невижу никаких проблем. У меня компонента работает не под COM+, а под сурогтным процессом dllhost, обычный DCOM.
TK>Так-же учитывая, что у ADODB.Connection потоковая модель Appartment и если Both компонент будет создаваться в MTA (для COM+ так скорее всего и произойдет), то получится то, что все объекты ADODB.Connection будут созданы в специальном "STA Host" который будет один на весь процесс и потенциально окажется одним из узких мест.
Как бы оно так, но есть один нюанс

.
Дело в том что в адошных объектах (коннекция рекордсет команда) реализован FTM , и тем самым реально создавая в MTA адо коннекцию в итоге мы все равно получим на нее прямую ссылку, проверрено

именно так.
TK>А чем не устроили стандартные возможности по созданию пулов?
Вот некоторые из причин почему не стал исполььзовать стандартный OLE DB-шный пулинг коннекций: не все коннекции пулятся, к примеру к Accessy не пулятся, создается каждый раз а это окло 50-100мс, при времени работы запроса 10мс это более чем заметно в приложеняих. Были и другие проблемы связанные с управлениями транзакциями на клиентских сессиях, но не будем в это углубляться, скажем так свой пул оказался более удобным.