Condividi tramite


Appartamenti neutrali

COM+ introduce appartamenti neutri per semplificare la programmazione in ambienti multithreading. L'appartamento neutro è il modello preferito per COM+ per i componenti senza interfaccia utente.

In passato, per evitare colli di bottiglia, gli sviluppatori COM+ che richiedono la scalabilità del server dovevano implementare componenti a thread libero; Tuttavia, i modelli di threading libero sono complicati da implementare perché devono gestire l'accesso interlocking. In appartamenti neutri, gli oggetti seguono le linee guida per appartamenti multithreading, ma possono essere eseguiti su qualsiasi tipo di thread. Quando un thread è in esecuzione in un apartment neutro, il contesto dell'oggetto viene ricevuto senza causare un commutatore di thread.

Ogni processo può avere un solo appartamento neutro. Per selezionare un apartment neutro, usare l'impostazione seguente del Registro di sistema:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
   {CLSID}
      InprocServer32
         ThreadingModel = Neutral

I componenti con interfacce utente devono continuare a usare appartamenti a thread singolo come modello preferito. Per selezionare un apartment a thread singolo, usare l'impostazione del Registro di sistema seguente:

ThreadingModel = Apartment