COM对象池和.NET Web服务

时间:2009-05-12 14:25:41

标签: .net web-services com+ object-pooling

我有一个COM对象,我需要从.NET Web服务访问。

我知道整个STA / MTA的事情 - 所以我的COM对象将转换为MTA并且没有全局状态(虽然本身不​​是多线程的)。

如果我将其设置为COM +服务器并指定对象池,这是否意味着对于每个Web服务线程,它将使用COM对象的不同实例?而不是排队?

由于

1 个答案:

答案 0 :(得分:2)

这取决于几件事。

如果对池中的对象数设置上限,并且在Web服务客户端中保持对象引用处于活动状态,并且不使用JIT或者不在方法调用中设置Done标志,一旦达到游泳池限制,他们就会排队。

如果您确实使用JIT并通过调用SetComplete或使用方法上的AutoComplete属性设置Done标志,那么当方法返回时,COM +组件将被停用并放回池中。除非并发执行的方法的数量达到最大池限制,否则新方法调用永远不需要等待。