De consistente en voltooide vlaggen instellen
U stelt de consistentie- en voltooiingsvlaggen in door methoden op te roepen op de IObjectContext- of de IContextState interfaces. De strategieën die door deze twee interfaces worden gebruikt, verschillen aanzienlijk. IObjectContext- heeft vier methoden waarmee de consistente en voltooide vlaggen in unieke combinaties worden gekoppeld, terwijl IContextState- twee methoden heeft waarmee u elke vlag onafhankelijk kunt instellen. De methoden van IObjectContext worden ook weergegeven via het object ObjectContext.
Voor onafhankelijk beheer van elke vlag biedt IContextState- een methode om de consistente vlag in te stellen op Waar of Onwaar en een methode om de voltooide vlag in te stellen op Waar of Onwaar. Deze methoden zijn respectievelijk SetMyTransactionVote en SetDeactivateOnReturn. De interface IContextState bevat ook methoden om de huidige waarde van elke vlag op te halen.
Wanneer u de SetMyTransactionVote methodewaarde instelt op TxCommit, controleert COM+ de aanwezigheid van een transactie. Als COM+ geen transactie detecteert, wordt er een fout gegenereerd die u in een logboekbestand kunt vastleggen. Stel dat iemand per ongeluk het transactiekenmerk van uw onderdeel configureert op Niet ondersteund, maar u verwachtte dat het is ingesteld op Vereist. Door SetMyTransactionVote = TxCommit in te stellen, kunt u het conflict identificeren en actie ondernemen.
In de volgende tabel worden de methode-aanroepen beschreven die kunnen worden gebruikt om de consistente en voltooide vlaggen in te stellen.
Consistente vlag | Vlag Gereed | Methode IObjectContext | IContextState-methoden |
---|---|---|---|
Echt |
Vals |
EnableCommit |
SetMyTransactionVotetxVote = TxCommit SetDeactivateOnReturnbDeactivate = False |
Onwaar |
Vals |
DisableCommit |
SetMyTransactionVotetxVote = TxAbort SetDeactivateOnReturnbDeactivate = False |
Vals |
Waar |
SetAbort |
SetMyTransactionVotetxVote = TxAbort SetDeactivateOnReturnbDeactivate = True |
Waar |
Waar |
SetComplete |
SetMyTransactionVotetxVote = TxCommit SetDeactivateOnReturnbDeactivate = True |
Notitie
De eigenschap automatisch uitgevoerd, die is ingesteld op methodeniveau, kan van invloed zijn op de manier waarop de consistente en voltooide vlaggen worden ingesteld. Voor meer informatie over de eigenschap Autogereed, zie Automatisch gereed inschakelen voor een methode en Het instellen van de gereed-bit.