Festlegen des Bits "Fertig"

COM+ deaktiviert ein JIT-aktiviertes Objekt basierend auf der status einer Kontexteigenschaft, dem done Bit, wie folgt:

  • Wenn das fertige Bit auf True festgelegt ist, deaktiviert COM+ das Objekt, wenn der aktuelle Methodenaufruf zurückgibt.
  • Wenn das fertige Bit auf False festgelegt ist, bleibt das Objekt aktiv, wenn der aktuelle Methodenaufruf zurückgibt.

Standardmäßig wird das fertige Bit auf False festgelegt, wenn ein Objekt erstellt und sein Kontext initialisiert wird. (Jedes JIT-aktivierte Objekt wird in seinem eigenen Kontext erstellt, sodass es sein eigenes erledigtes Bit festzulegen hat.) Sie können diese Standardeinstellung jedoch pro Methode ändern, indem Sie die Auto-Done-Eigenschaft verwenden. Sie können das erledigte Bit auf folgende Weise festlegen:

Verwenden von IContextState

Sie können IContextState::SetDeactivateOnReturn verwenden, um das erledigte Bit auf True oder False festzulegen.

Sie können IContextState::GetDeactivateOnReturn verwenden, um die aktuelle status des erledigten Bits aus dem Objektkontext abzurufen.

Verwenden von IObjectContext

Sie können die folgenden Methoden für IObjectContext verwenden, um das erledigte Bit festzulegen und gleichzeitig das konsistente Bit festzulegen, das für die Abstimmung in Transaktionen verwendet wird:

  • SetComplete signalisiert sowohl, dass Sie fertig sind, als auch, dass Sie für den Commit der aktuellen Transaktion stimmen. Es legt sowohl das fertige Bit als auch das konsistente Bit auf True fest.
  • SetAbort signalisiert, dass Sie fertig sind, und beendet die aktuelle Transaktion. Das fertige Bit wird auf True und das konsistente Bit auf False festgelegt.
  • EnableCommit signalisiert, dass Sie noch nicht fertig sind, aber dass Sie für den Commit der Transaktion stimmen. Das fertige Bit wird auf False und das konsistente Bit auf True festgelegt.
  • DisableCommit signalisiert, dass Sie nicht fertig sind und dass Sie zu diesem Zeitpunkt nicht für ein Commit für die Transaktion stimmen, in der Regel, weil der Zustand inkonsistent ist. Es legt sowohl das fertige Bit als auch das konsistente Bit auf False fest.

COM+-Just-in-Time-Aktivierungskonzepte

Aktivieren der JIT-Aktivierung für eine Komponente

Objektpooling und COM+-JIT-Aktivierung

Transaktionen und COM+ JIT-Aktivierung