COM+ szinkronizálási fogalmak
Általában nincs szükség szinkronizálásra, ha egyszálas lakással (STA) rendelkezik, mert a lakás biztosítja a szinkronizálást. A szinkronizálás akkor válik fontossá, ha többszálú apartman modellel (MTA) és egy szabad szálú objektummal rendelkezik. A múltban a szabadszálú objektumoknak kezelniük kellett a zárolást. Az összetevő szinkronizálási attribútumának beállításával kiküszöbölheti a zárolás szükségességét.
A szinkronizálás a következő tulajdonságokkal rendelkezik:
- Lehetővé teszi, hogy egy hívó egyszerre beírja az összetevőt.
- Tiltja a folyamaton vagy a számítógépen keresztüli forgalmat.
- Komponensről komponensre áramlik egy folyamaton belül.
- Engedélyezi az újraküldést ugyanabból a hívóból.
A lakásokkal ellentétben a tevékenységek különböző folyamatokból és gazdagépekből származó környezeteket ölelnek fel. A szinkronizálás határozza meg, hogy melyik tevékenység tartalmaz objektumot. Az objektumok a következő tevékenységek bármelyikében lehetnek:
- Alkotói tevékenység
- Új tevékenység
- Nincs tevékenység
A COM+ az egyes tevékenységekhez tartozó zárak sorozatával biztosítja az egyidejűséget. Ha egy hívó olyan COM+ szinkronizált összetevőt próbál meg megadni, amelyet egy másik hívó már használ, a hívás a zárolás feloldásáig le lesz tiltva. Ez a blokkolási viselkedés nem vezet időtúllépéshez, és nem konfigurálható időtúllépésre. Ha a zárolás nincs használatban, a zárolás megszerezhető, és a hívás feldolgozásra kerül. A lezárás után a zárolás feloldódik a következő hívó számára. A holtpont elkerülése érdekében a COM+ a hálózatba láncolt, beágyazott hívássorozatokkal kezeli az összes objektumhoz való hozzáférést a tevékenységek között.
A COM+ a következő szinkronizálási beállításokat biztosítja:
- Fogyatékos
- Nem támogatott
- Támogatott
- Szükséges
- Újat igényel
Jegyzet
Egyes szinkronizálási beállítások más COM+ összetevőbeállításokkal együtt működnek. Például szinkronizálásra van szükség, ha az COM+ azonnali (JIT) aktiválási szolgáltatás engedélyezve van. A tranzakciók engedélyezéséhez JIT szükséges; ezért a COM+ tranzakciófeldolgozási szinkronizálást is igényel. A JIT=True beállítással rendelkező osztályoknak tehát a Synchronization=Required vagy a Synchronization=RequiredNew beállítással is rendelkezniük kell.
A szinkronizálási beállításokNak a Component Services felügyeleti eszköz használatával történő beállításával kapcsolatos utasításokért tekintse meg A szinkronizálási attribútum beállításacímű témakört.
A COM+ felügyeleti kódtár szinkronizálási beállításainak beállításával kapcsolatos további információkért lásd A COM+ felügyeletiautomatizálása című témakört.
Kapcsolódó témakörök