Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Notifies an enlisted object that a transaction is being committed.
public:
void Commit(System::Transactions::Enlistment ^ enlistment);
public void Commit(System.Transactions.Enlistment enlistment);
abstract member Commit : System.Transactions.Enlistment -> unit
Public Sub Commit (enlistment As Enlistment)
An Enlistment object used to send a response to the transaction manager.
The transaction manager calls this method of an enlisted object during the second phase of a commitment, when it instructs all participants to commit the transaction.
The resource manager should perform any work necessary to finish the transaction and then inform the TM that it has finished by calling the Done method on the enlistment
parameter.
If the resource manager has enlisted durably, but does not respond by calling Done method, the transaction manager is unsure that the resource manager has received the Commit call. As such, the transaction manager keeps waiting for a response, and maintains information relevant to this transaction. If Done is never called, this piece of information is kept around indefinitely in memory or in a system-wide resource. This results in resources not being able to be reclaimed. In the case of a distributed transaction, this could eventually fill the MSDTC log, which halts the MSDTC process. In the case of a transaction managed by System.Transactions, this results in a gradual and continual increase in the memory consumption of the resource manager's process. Therefore, it is crucial that you call the Done method once your resource manager is done with your prepare work.
Product | Versions |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in