ServicedComponent未在终结者中处置

时间:2010-06-16 23:07:55

标签: c# c++ com+

需要答案的问题:

  1. 客户端ServicedComponent的终结器是否调用ServicedComponent.DisposeObject或Dispose?

  2. 基本上 - 由于内存未被释放,我们对COM服务器的进程大小(内存)达到2 gig限制 - 是否显式调用Dispose或在客户端使用using语句? / p>

1 个答案:

答案 0 :(得分:1)

您绝对应该在客户端调用DisposeServicedComponent.DisposeObject。微软称"It is preferable to use the Dispose design pattern rather than DisposeObject."

究竟COM +中发生的事情取决于以下几点:

  • 应用程序是库还是服务器应用程序
  • 是否使用了对象池
  • 是否正在使用JIT

如果通话失败,那么租约时间可能会发挥作用。 Understanding Enterprise Services (COM+) in .NET是我读过的最好的COM +文章之一,但由于它是在2002年写的,我想知道它是否仍然100%准确。