views:

38

answers:

0

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?