Neutrální apartmány
COM+ zavádí neutrální apartmány pro zjednodušení programování v prostředích s více vlákny. Neutrální byt je upřednostňovaným modelem modelu COM+ pro komponenty bez uživatelského rozhraní.
V minulosti, aby se zabránilo kritickým bodům, museli vývojáři modelu COM+, kteří vyžadují škálovatelnost serveru, implementovat komponenty bez vláken; Modely bez vláken jsou však složité implementovat, protože se musí zabývat uzamykáním přístupu. Vneutrálních objektech se objekty řídí pokyny pro vícevláknové apartmány, ale můžou se spouštět na libovolném druhu vlákna. Pokud vlákno běží v neutrálním apartmánu, kontext objektu se přijímá bez příčiny přepínače vlákna.
Každý proces může mít pouze jeden neutrální byt. Chcete-li vybrat neutrální byt, použijte následující nastavení registru:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
{CLSID}
InprocServer32
ThreadingModel = Neutral
Komponenty, které mají uživatelská rozhraní, by měly nadále používat jednovláknové apartmány jako preferovaný model. Pokud chcete vybrat apartmán s jedním vláknem, použijte následující nastavení registru:
ThreadingModel = Apartment