|
6 | 6 |
|
7 | 7 | ## Remarks
|
8 | 8 |
|
9 |
| -> [!IMPORTANT] |
10 |
| -> You can only create applications using this namespace under the Windows 2000, Windows XP and Windows 2003 platforms. Creating a transaction under the Windows 98 and Windows ME platforms throws a <xref:System.PlatformNotSupportedException> . |
| 9 | + The `System.Transactions` infrastructure makes transactional programming simple and efficient throughout the platform by supporting transactions initiated in SQL Server, ADO.NET, MSMQ, and the Microsoft Distributed Transaction Coordinator (MSDTC). It provides both an explicit programming model based on the <xref:System.Transactions.Transaction> class, as well as an implicit programming model using the <xref:System.Transactions.TransactionScope> class, in which transactions are automatically managed by the infrastructure. It is highly recommended that you use the easier implicit model for development. To get started, see the [Implementing An Implicit Transaction Using Transaction Scope](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms172152(v=vs.85)) topic. For more information on writing a transactional application, see [Writing A Transactional Application](~/docs/framework/data/transactions/writing-a-transactional-application.md). |
11 | 10 |
|
12 |
| - The <xref:System.Transactions> infrastructure makes transactional programming simple and efficient throughout the platform by supporting transactions initiated in SQL Server, ADO.NET, MSMQ, and the Microsoft Distributed Transaction Coordinator (MSDTC). It provides both an explicit programming model based on the <xref:System.Transactions.Transaction> class, as well as an implicit programming model using the <xref:System.Transactions.TransactionScope> class, in which transactions are automatically managed by the infrastructure. It is highly recommended that you use the easier implicit model for development. To get started, see the [Implementing An Implicit Transaction Using Transaction Scope](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms172152(v=vs.85)) topic. For more information on writing a transactional application, see [Writing A Transactional Application](~/docs/framework/data/transactions/writing-a-transactional-application.md). |
| 11 | + `System.Transactions` also provides types for you to implement a resource manager. The transaction manager native to the `System.Transactions` infrastructure allows volatile resources or a single durable resource enlistment to commit or roll back efficiently. For more information on implementing a resource manager, see [Implementing A Resource Manager](https://msdn.microsoft.com/library/81509719-d579-4530-831e-42e1acdef63e). |
13 | 12 |
|
14 |
| - <xref:System.Transactions> also provides types for you to implement a resource manager. The transaction manager native to the <xref:System.Transactions> infrastructure allows volatile resources or a single durable resource enlistment to commit or roll back efficiently. For more information on implementing a resource manager, see [Implementing A Resource Manager](https://msdn.microsoft.com/library/81509719-d579-4530-831e-42e1acdef63e). |
| 13 | + The transaction manager also transparently escalates local transactions to distributed transactions by coordinating through a disk-based transaction manager like the DTC, when an additional durable resource manager enlists itself with a transaction. There are two key ways that the `System.Transactions` infrastructure provides enhanced performance. |
15 | 14 |
|
16 |
| - The transaction manager also transparently escalates local transactions to distributed transactions by coordinating through a disk-based transaction manager like the DTC, when an additional durable resource manager enlists itself with a transaction. There are two key ways that the <xref:System.Transactions> infrastructure provides enhanced performance. |
| 15 | +- Dynamic Escalation, which means that the `System.Transactions` infrastructure only engages the MSDTC when it is actually required for a transaction. This area is covered in depth in the [Transaction Management Escalation](https://msdn.microsoft.com/library/5b87ae58-8ccf-4b9b-9715-41e4aade89b7) topic. |
17 | 16 |
|
18 |
| -- Dynamic Escalation, which means that the <xref:System.Transactions> infrastructure only engages the MSDTC when it is actually required for a transaction. This area is covered in depth in the [Transaction Management Escalation](https://msdn.microsoft.com/library/5b87ae58-8ccf-4b9b-9715-41e4aade89b7) topic. |
| 17 | +- Promotable Enlistments, which allows a resource, such as a database, to take ownership of the transaction if it is the only entity participating in the transaction. Later, if needed, the `System.Transactions` infrastructure can still escalate the management of the transaction to MSDTC. This further reduces the chance of using the MSDTC. This area is covered in depth in the [Optimization Using Single Phase Commit and Promotable Single Phase Notification](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms229980(v=vs.85)) topic. |
19 | 18 |
|
20 |
| -- Promotable Enlistments, which allows a resource, such as a database, to take ownership of the transaction if it is the only entity participating in the transaction. Later, if needed, the <xref:System.Transactions> infrastructure can still escalate the management of the transaction to MSDTC. This further reduces the chance of using the MSDTC. This area is covered in depth in the [Optimization Using Single Phase Commit and Promotable Single Phase Notification](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms229980(v=vs.85)) topic. |
21 |
| - |
22 |
| - <xref:System.Transactions> defines three levels of trust that restrict access on the types of resources it exposes. Specifically, the <xref:System.Transactions> assembly can be called by partially trusted code as it has been marked with the `AllowPartiallyTrustedCallers` attribute (APTCA). This attribute essentially removes the implicit <xref:System.Security.Permissions.SecurityAction.LinkDemand> for the `FullTrust` permission set that is otherwise automatically placed on each publicly accessible method in each type. However, some types and members still require stronger permissions. |
| 19 | + `System.Transactions` defines three levels of trust that restrict access on the types of resources it exposes. Specifically, the *System.Transactions* assembly can be called by partially trusted code as it has been marked with the `AllowPartiallyTrustedCallers` attribute (APTCA). This attribute essentially removes the implicit <xref:System.Security.Permissions.SecurityAction.LinkDemand> for the `FullTrust` permission set that is otherwise automatically placed on each publicly accessible method in each type. However, some types and members still require stronger permissions. |
23 | 20 |
|
24 | 21 | The following is a list of types and members that are not callable by partially trusted code because they are decorated with the following declarative security attribute:
|
25 | 22 |
|
|
47 | 44 |
|
48 | 45 | Core Development Technologies\Data Access\Transaction Processing\
|
49 | 46 |
|
50 |
| - For more information on how to use the <xref:System.Transactions> namespace, you can consult the conceptual documentation [Transaction Processing](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/w97s6fw4(v=vs.85)), located under the "Core Development Technologies\Data Access\Transaction Processing\\" section in the documentation. Specifically, you can find more information in the following topics. |
| 47 | + For more information on how to use the `System.Transactions` namespace, you can consult the conceptual documentation [Transaction Processing](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/w97s6fw4(v=vs.85)), located under the "Core Development Technologies\Data Access\Transaction Processing\\" section in the documentation. Specifically, you can find more information in the following topics. |
51 | 48 |
|
52 | 49 | [Features Provided By System.Transactions](https://msdn.microsoft.com/library/99cc5ce0-b7fd-4d78-a553-a3dd3f17ed45)
|
53 | 50 |
|
|
0 commit comments