Apartamentos neutros
COM+ presenta apartamentos neutros para simplificar la programación en entornos multiproceso. El apartamento neutro es el modelo preferido para COM+ para componentes sin interfaz de usuario.
En el pasado, para evitar cuellos de botella, los desarrolladores de COM+ que requieren escalabilidad del servidor tenían que implementar componentes sin subprocesos; Sin embargo, los modelos de subproceso libre son complicados de implementar porque deben tratar con el acceso interbloqueo. En apartamentos neutros, los objetos siguen las directrices para apartamentos multiproceso, pero pueden ejecutarse en cualquier tipo de subproceso. Cuando un subproceso se ejecuta en un apartamento neutro, el contexto del objeto se recibe sin provocar un cambio de subproceso.
Cada proceso solo puede tener un apartamento neutro. Para seleccionar un apartamento neutro, use la siguiente configuración del Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
{CLSID}
InprocServer32
ThreadingModel = Neutral
Los componentes que tienen interfaces de usuario deben seguir usando apartamentos de un solo subproceso como modelo preferido. Para seleccionar un apartamento de un solo subproceso, use la siguiente configuración del Registro:
ThreadingModel = Apartment