Hello
Architecting for the web, if we have a .NET application that delegates it's main processing tasks to a component (in this case, a COM+ server), what is the best approach?
Approach 1
Have the component instantiated many times in the COM+ Object Pool, so that each request uses one of the instances.
PROS
If any one of the components crashes, only that request will fail. Other requests will remain unaffected.
CONS
Have to rely on the caller to put the object back in the pool in the original state. Memory overhead.
Approach 2
Have the component created as a single service. Each request then spawns a new thread inside the service.
PROS
Efficiency; don't have to rely on caller.
CONS
If this server fails, then unless we have a Guardian process watching over it then our web site will be unresponsive until it is restored.
Thoughts?