自动事务和 .NET Framework 类
只要准备了 .NET Framework 类参与自动事务,此类的实例就可以参与自动事务。类实例或对象访问的每个资源都在事务中登记。例如,如果一个对象使用 ADO.NET 向数据库中某帐户上存钱,此数据库的资源管理器将确定该对象是否在事务中执行。如果对象是在事务中执行,则资源管理器自动在事务中登记此数据库。
若要使对象参与事务,请将 TransactionAttribute 属性应用于它的类。应用 Transaction 属性时,可以交替使用 Transaction、transaction、TransactionAttribute 和 transactionattribute。
在如何:在 .NET Framework 类中使用自动事务中,详细介绍了准备类来参与自动事务的过程。
Transaction 属性使用以 TransactionOption 枚举作为参数的构造函数。下表说明了 TransactionOption 枚举的可能值。
属性值 | 说明 |
---|---|
Disabled |
消除对象的自动事务控制。应用此属性值的对象可以直接连接到分布式事务处理协调器 (DTC) 以获取事务性支持。
|
NotSupported |
指明对象不在事务范围内运行。处理请求时,不管是否有活动事务,均在没有事务的情况下创建其对象上下文。
|
Supported |
指明如果有事务,则对象在现有事务的上下文中运行。如果没有事务,则对象在没有事务的情况下运行。
|
Required (默认值) |
指明对象需要事务。如果有事务,则对象在现有事务范围内运行。如果没有事务,则对象启动一个事务。
|
RequiresNew |
指明对象需要事务且针对每个请求启动一个新事务。
|
请参见
任务
概念
其他资源
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。