Объединение объектов COM и веб-сервис .NET - PullRequest
0 голосов
/ 12 мая 2009

У меня есть COM-объект, к которому мне нужен доступ из моей .NET Web Service.

Я знаю обо всем, что связано с STA / MTA, поэтому мой COM-объект будет преобразован в MTA и не будет иметь глобального состояния (не будучи многопоточным).

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

Спасибо

1 Ответ

2 голосов
/ 12 мая 2009

Это зависит от нескольких вещей.

Если вы устанавливаете верхний предел на количество объектов в пуле и поддерживаете ссылку на объект в клиенте веб-службы, и вы не используете JIT или не устанавливаете флаг Done в вызове метода они будут стоять в очереди, как только достигнут лимита пула.

Если вы используете JIT и устанавливаете флаг Done, вызывая SetComplete или используя атрибут AutoComplete для метода, компонент COM + будет деактивирован и помещен обратно в пул, когда метод вернется. Если количество одновременно выполняемых методов не достигнет максимального предела пула, новым вызовам методов не нужно будет ждать.

...