Définition du bit terminé

COM+ désactivera un objet activé juste-à-temps en fonction de l’état d’une propriété de contexte, le bit terminé, comme suit :

  • Lorsque le bit Done a la valeur true, COM+ désactive l’objet lors du retour de l’appel de la méthode en cours.
  • Lorsque le bit Done est défini sur false, l’objet reste actif lorsque l’appel de la méthode en cours est retourné.

Par défaut, le bit Done a la valeur false lorsqu’un objet est créé et que son contexte est initialisé. (Tout objet activé juste-à-temps est créé dans son propre contexte afin qu’il ait son propre bit terminé à définir.) Toutefois, vous pouvez modifier ce paramètre par défaut pour chaque méthode à l’aide de la propriété terminé automatiquement. Vous pouvez définir le bit Done des manières suivantes :

Utilisation de IContextState

Vous pouvez utiliser IContextState :: SetDeactivateOnReturn pour définir le bit Done sur true ou false.

Vous pouvez utiliser IContextState :: GetDeactivateOnReturn pour récupérer l’état actuel du bit Done à partir du contexte de l’objet.

Utilisation de IObjectContext

Vous pouvez utiliser les méthodes suivantes sur IObjectContext pour définir le bit terminé tout en configurant simultanément le bit cohérent utilisé pour le vote dans les transactions :

  • SetComplete signale que vous avez terminé et que vous votez pour valider la transaction en cours. Il définit à la fois le bit Done et le bit consistent sur true.
  • SetAbort signale que vous avez terminé et Dooms la transaction en cours. Elle définit le bit Done sur true et le bit cohérent sur false.
  • EnableCommit signale que vous n’avez pas terminé mais que vous votez pour valider la transaction. Elle définit le bit Done sur false et le bit cohérent sur true.
  • DisableCommit signale que vous n’avez pas terminé et que vous votez pour ne pas valider la transaction à ce stade, généralement parce que l’État est incohérent. Il définit à la fois le bit Done et le bit consistent sur false.

Concepts d’activation juste-à-temps de COM+

Activation de l’activation JIT pour un composant

Mise en pool d’objets et activation JIT COM+

Transactions et activation JIT COM+