Hi,

My problem is as follows. We have a whole lot of dll's running in
Component Services in Win2K. These have not
specifically been written for COM+ ie by getting the object context
etc etc. In some components we are using
the Initialization and Terminate events. We are also using MUTEX to
get database connections. One of the problems
we have is the COM components tend to hang and the application has to
be restarted (in Component Services). This
most often occurs when a process by a component is called that
finishes but the calling component for some reason
thinks it has not returned. My questions are as follows:

1. Should dlls run in component services be coded to speciffcally use
the COM+ framework? In other words is there
definitely a downside to NOT specifically getting an oject context?
2. If an object context is used, do we specifically need to call
setcomplete and/or setabort or is this only within
transactions?
3. If a component will be run in COM+ does the MTSTRansactionMode have
to be set to something other than
0 - NotAnMTSObject?
4. My understanding is that dlls run in component services should be
coded as though only one client will ever be
accessing them - does this mean using MUTEX to gain access to DB
connections is wrong as if we were using COM+
context it would handle this type of resource management?
5. Is there a clear and concise set of recommendations (URL?) on how
and when and when not to use object context in
Component Services?
6. Is using initialize and terminate events wrong? I heard after Win
2K SP3 this was now okay?
7. How does Persistable work and does it relate to Component Services?

Kind Regards Ken