Delen via


COM+ Shared Property Manager-concepten

In COM+wordt de gedeelde tijdelijke status voor objecten beheerd met behulp van SPM (Shared Property Manager). De SPM is een resourcedispenser die u kunt gebruiken om de status te delen tussen meerdere objecten binnen een serverproces.

U kunt geen globale variabelen in een gedistribueerde omgeving gebruiken vanwege gelijktijdigheids- en naamconflictsproblemen. De beheerder van gedeelde eigenschappen elimineert naamconflicten door gedeelde eigenschapsgroepen op te geven, waardoor unieke naamruimten worden vastgesteld voor de gedeelde eigenschappen die ze bevatten. De SPM implementeert ook vergrendelingen en semaphores om gedeelde eigenschappen te beschermen tegen simultane toegang, wat kan leiden tot verloren updates en de eigenschappen in een onvoorspelbare toestand achterlaten.

Notitie

Gedeelde tijdelijke status is statusinformatie die wordt bewaard in het geheugen dat niet overleeft systeemfouten. De informatie is ontworpen om te worden gedeeld door meerdere objecten over transactiegrenzen (maar niet over procesgrenzen).

 

Gedeelde eigenschappen die zijn opgeslagen in de SPM zijn alleen beschikbaar voor objecten die in hetzelfde proces worden uitgevoerd. Dit betekent dat de objecten die gebruikmaken van de SPM voor het opslaan van waarden en die toegang moeten hebben tot deze waarden moeten worden geïnstalleerd als onderdeel van dezelfde COM+-toepassing. Het is mogelijk dat systeembeheerders COM+-klassen van het ene pakket naar het andere verplaatsen nadat uw COM+-toepassing is geïmplementeerd. Als u gebruikmaakt van verschillende eigenschappen voor het delen van objecten via SPM, moet u duidelijk documenteren dat deze moeten worden geïnstalleerd in dezelfde COM+-toepassing.

Het is ook belangrijk dat onderdelen die eigenschappen delen hetzelfde activeringskenmerk hebben. Als twee onderdelen in hetzelfde pakket verschillende activeringskenmerken hebben, kunnen ze doorgaans geen eigenschappen delen. Als bijvoorbeeld één onderdeel is geconfigureerd voor uitvoering in een clientproces en het andere is geconfigureerd voor uitvoering in een serverproces, worden hun objecten meestal uitgevoerd in verschillende processen, ook al bevinden ze zich in hetzelfde pakket.

U moet altijd de SharedPropertyGroupManagerinstantiëren, SharedPropertyGroupen SharedProperty-objecten van COM+-onderdelen in plaats van vanaf een basisclient. Als een basisclient gedeelde eigenschapsgroepen en -eigenschappen maakt, bevinden de gedeelde eigenschappen zich binnen het basisclientproces, niet in een serverproces. Dit betekent dat de COM+-objecten de eigenschappen niet kunnen delen, tenzij de objecten ook worden uitgevoerd in het clientproces (wat over het algemeen geen goed idee is).

COM+ Shared Property Manager

Gedeelde Eigenschapsgroepen