Abstimmen in einer automatischen Transaktion

.NET Framework-Klassen und ASP.NET-Seiten können darüber abstimmen, ob der Commit für eine aktuelle Transaktion ausgeführt oder abgebrochen wird. Ist keine explizite Abstimmung im Code enthalten, wird standardmäßig eine Abstimmung für ein Commit abgegeben. Der Standard-Commit kann aber die Leistung Ihrer Anwendung dadurch verschlechtern, dass sich der Zeitraum verlängert, der für jede Transaktion benötigt wird, um wertvolle Ressourcen freizugeben.

Eine explizite Abstimmung ermöglicht es Ihrer Klasse oder Seite außerdem, eine Transaktion bei Auftreten signifikanter Fehler abzubrechen. Auch hier kann die Leistung der Anwendung verbessert werden, indem ein schwerwiegender Fehler zu einem frühen Zeitpunkt in der Transaktion abgefangen, die Transaktion beendet und anschließend die Ressourcen freigegeben werden.

Verwenden von AutoComplete

Das System.EnterpriseServices.AutoCompleteAttribute-Attribut veranlasst ein Objekt, das an einer Transaktion teilnimmt, für das Abschließen der Transaktion abzustimmen, wenn die Methode normal zurückgegeben wird. Wenn der Methodenaufruf eine Ausnahme auslöst, wird die Transaktion abgebrochen. Dieses Attribut kann nur auf Klassen angewendet werden, die von der ServicedComponent-Klasse abgeleitet werden.

Um dieses Feature zu verwenden, fügen Sie das Attribut vor der Klassenmethode ein. Wenn Sie das Attribut einer Schnittstellenmethode hinzufügen, wird es von der Common Language Runtime ignoriert. Ein Beispiel für die Verwendung des AutoComplete-Attributs finden Sie unter Verfahrensweise: Festlegen des AutoComplete-Attributs für eine transaktionsverarbeitende Klasse.

Verwenden von "SetAbort" und "SetComplete"

Mithilfe der statischen Methoden SetComplete und SetAbort der System.EnterpriseServices.ContextUtil-Klasse können Sie ein explizites Commit für eine Transaktion bzw. deren expliziten Abbruch ausführen. Die SetComplete-Methode gibt an, dass Ihr Objekt für den Commit seiner Arbeit stimmt; die SetAbort-Methode dagegen gibt an, dass das Objekt ein Problem hatte und für das Abbrechen der aktiven Transaktion stimmt. Der Commit für eine Transaktion bzw. deren Abbruch wird erst ausgeführt, wenn das Stammobjekt der Transaktion deaktiviert wurde. Darüber hinaus führt eine einzige Abstimmung für einen Abbruch von einem Objekt, das an der Transaktion teilnimmt, zu einem Fehler der gesamten Transaktion. Ein Beispiel für die Verwendung der Methoden SetAbort und SetComplete finden Sie unter Verfahrensweise: Verwenden der Methoden "SetAbort" und "SetComplete".

Siehe auch

Aufgaben

Verfahrensweise: Festlegen des AutoComplete-Attributs für eine transaktionsverarbeitende Klasse
Verfahrensweise: Verwenden der Methoden "SetAbort" und "SetComplete"

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.