Groups | Blog | Home
all groups > dotnet component services > october 2003 >

dotnet component services : COM+ Interop, activated object reference not decrementing


Paul R. Morin
10/24/2003 5:47:06 PM
I have a VB6 dll that calls a VB.NET COM+ dll. The function call requires
passing another VB6 object ByRef. Everything works as expected in the
function, but when the original VB6 dll finishes and sets the ByRef object
to nothing, there are still activated instances of the ByRef object (and any
other object created by the ByRef object) in the status view for COM+ in the
MMC.

What am I missing?

- Paul

David Lau
10/28/2003 12:46:47 AM
I have the same problem as well. A ServicedComponent-derived server is
written to replace an existing VB6 COM+ component. This COM+ component has
existing VB6 clients as well.

Because the object reference was working properly before the replacement, we
know the VB6 client is handling reference counting correctly. But when the
ServicedComponent replaces the old one in COM+, the VB6 client cannot
release it any more and leaving it spinning in COM+ MMC all the time.

I am suspecting that the CCW has released the reference to the
ServicedComponent and is waiting for the GC to collect it. Furthermore,
since the VB6 client is working in COM, it won't be able to call the
Dispose() method in the ServicedComponent.

What can be done to release ServicedComponent this accessed by ordinary COM+
client? Can someone from Microsoft help?

David

[quoted text, click to view]

AddThis Social Bookmark Button