Delen via


Waarden van synchronisatiekenmerk

Het synchronisatiekenmerk is een declaratieve eigenschap die aangeeft welk type synchronisatie u wilt dat uw onderdelen hebben wanneer ze worden geactiveerd. Wanneer u het synchronisatiekenmerk opneemt, verwerkt COM+ de details van de synchronisatie namens u; U hoeft geen andere oproepen te voeren.

Afhankelijk van de vereisten kan een object de synchronisatie van de beller delen, een nieuwe synchronisatie vereisen of zonder synchronisatie werken.

COM+ biedt de volgende waarden voor synchronisatiekenmerken:

  • Invalide. Wanneer u het synchronisatiekenmerk uitschakelt, negeert COM+ de synchronisatievereisten van het onderdeel bij het bepalen van de context voor het object. Als gevolg hiervan kan het object de context van de aanroeper (en synchronisatie) wel of niet delen.

    Over het algemeen moet u deze kenmerkwaarde gebruiken wanneer u weet dat het onderdeel nooit toegang heeft tot een resourcemanager. Wanneer u COM-onderdelen migreert naar COM+, moet u het synchronisatiekenmerk uitschakelen om hetzelfde gedrag te behouden als het niet-geconfigureerde COM-onderdeel. Een niet-geconfigureerd onderdeel is een COM-onderdeel dat niet is geïnstalleerd in een COM+-toepassing.

  • Niet ondersteund. Een object met deze waarde neemt nooit deel aan synchronisatie, ongeacht de status van de aanroeper. Deze instelling is alleen beschikbaar voor onderdelen die niet transactioneel zijn en die niet gebruikmaken van de COM+ Just-In-Time-activering service.

  • Ondersteund. Een object met deze waarde neemt deel aan synchronisatie als het bestaat. U declareert deze waarde wanneer u wilt dat een object wordt gedeeld in de synchronisatie van de aanroeper, maar geen eigen synchronisatie vereist.

    Een goede reden om uw synchronisatiekenmerk in te stellen op Ondersteund, is dat deze instelling goedkoper kan zijn in termen van systeembronnen. Het is echter moeilijker om uw onderdeel te schrijven vanwege de noodzaak om het te beschermen tegen gelijktijdige aanroepen. De implicatie van het instellen van het synchronisatiekenmerk op Ondersteund is dat onder bepaalde omstandigheden een exemplaar van uw object kan worden gemaakt op een zodanige manier dat het niet wordt gesynchroniseerd. Als het threadingmodel van het onderdeel gratis of beide is, moet u uw exemplaargegevens beveiligen met een bepaald type vergrendelingsmechanisme. Als het Threading-model Appartement (STA) is, hoeft u uw exemplaargegevens niet te beveiligen.

  • Vereist. Wanneer u dit kenmerk instelt, zorgt COM+ ervoor dat alle objecten die zijn gemaakt op basis van het onderdeel, worden gesynchroniseerd. Wanneer COM+ een exemplaar van uw onderdeel maakt, zorgt dit er in feite voor dat er slechts één thread tegelijk door dit exemplaar loopt.

    Wanneer COM+ een object activeert, wordt de synchronisatiestatus van de aanroeper bekeken. Als de beller wordt gesynchroniseerd, loopt COM+ de synchronisatiegrens van de beller door om het nieuwe object op te nemen. Anders begint COM+ de synchronisatie.

  • Vereist nieuw. Een object met deze waarde moet deelnemen aan een nieuwe synchronisatie, waarbij COM+ contexten en appartementen beheert namens alle onderdelen die betrokken zijn bij de oproep. COM+ initieert automatisch een nieuwe synchronisatie, die verschilt van de synchronisatie van de beller.

    Een goede reden om uw synchronisatiekenmerk in te stellen op Vereist nieuw, is dat u met deze instelling efficiënter externe aanroepen naar een exemplaar van uw onderdeel kunt maken. Er worden echter ook aanroepen tussen uw object en het object gemaakt dat het duurder heeft gemaakt in termen van systeemresources.

    Stel bijvoorbeeld dat uw object en het makerobject dezelfde synchronisatiegrens delen. Als client A het makerobject aanroept en client B uw object aanroept, moet de tweede aanroep wachten totdat de eerste aanroep is voltooid. Als u Vereist nieuw instelt, wordt uw object gemaakt in een afzonderlijke synchronisatiegrens. In dit geval kunnen aanroepen van andere objecten tegelijkertijd worden verwerkt. Voor aanroepen van het makerobject naar uw object zijn echter meer systeemresources vereist, omdat ze de synchronisatiegrenzen moeten overschrijden.

het synchronisatiekenmerk instellen

synchronisatieafhankelijkheden