Freigeben über


Neutrale Wohnungen

COM+ führt neutrale Wohnungen ein, um die Programmierung in Multithreadumgebungen zu vereinfachen. Die neutrale Wohnung ist das bevorzugte Modell für COM+ für Komponenten ohne Benutzeroberfläche.

In der Vergangenheit mussten COM+-Entwickler, die Serverskalierbarkeit erforderten, Freethread-Komponenten implementieren, um Engpässe zu vermeiden. Free-Threading-Modelle sind jedoch kompliziert zu implementieren, da sie sich mit dem ineinandergreifenden Zugriff befassen müssen. In neutralen Wohnungen befolgen Objekte die Richtlinien für Multithread-Wohnungen, können jedoch für jede Art von Thread ausgeführt werden. Wenn ein Thread in einer neutralen Wohnung ausgeführt wird, wird der Kontext des Objekts empfangen, ohne einen Threadwechsel zu verursachen.

Jeder Prozess kann nur eine neutrale Wohnung haben. Verwenden Sie die folgende Registrierungseinstellung, um ein neutrales Apartment auszuwählen:

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

Komponenten mit Benutzeroberflächen sollten weiterhin Singlethread-Apartments als bevorzugtes Modell verwenden. Verwenden Sie die folgende Registrierungseinstellung, um ein Singlethread-Apartment auszuwählen:

ThreadingModel = Apartment