科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道浅谈 .NET 里的MTS

浅谈 .NET 里的MTS

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

    事务处理模式是为参与事务处理的每个组件而设置的。它用来告知MTS说组件所做出的更改是否应该被忽略。   当事务处理创建新对象的时候,MTS会查看两个信息源来确定事务处理的模式。首先,它要确定对象的创建者是否正在一个已经存在的事务处理里运行。

作者:builder.com.cn 2007年9月29日

关键字: 浅谈 编程

  • 评论
  • 分享微博
  • 分享邮件
    事务处理模式是为参与事务处理的每个组件而设置的。它用来告知MTS说组件所做出的更改是否应该被忽略。

  当事务处理创建新对象的时候,MTS会查看两个信息源来确定事务处理的模式。首先,它要确定对象的创建者是否正在一个已经存在的事务处理里运行。其次,它要使用组件的事务处理模式。

  在Visual Basic .NET里,可以从System.EnterpriseServices.ServicedComponent里衍生出一个类,这类能够参与事务处理。如果System.EnterpriseServices这个命名空间不在你的项目里,你就要把它添加到项目的参照里:

Public Class MTSTest
Inherits System.EnterpriseServices.ServicedComponent

End Class

  要控制用于类的事务处理模式,你需要对类使用TransactionAttribute。Transaction(事务处理)属性的构造器能够接受TransactionOption这个类型的枚举参数(enumerated parameter)。TransactionAttribute可能的值有:

Disabled――对象会忽略事务处理。
  NotSupported――对象不能在事务处理的范围内运行。对象的创建不需要事务处理的存在,而不论其创建者是否运行在事务处理里。
  Supported――对象需要或者不需要事务处理都可以运行。如果对象是在一个活动的事务处理里创建的,那么它就要在这个已存在事务处理里运行。如果对象不是在活动的事务处理里创建的,那么对象不需要事务处理也可以运行。
  Required――对象需要一个事务处理。如果已经存在一个活动的事务处理,那么对象就要在这个事务处理里运行。如果不存在活动的事务处理,就要开始一个新的事务处理。这个值是Transaction属性缺省的值。
RequiresNew――对象需要一个事务处理。但是,新的事务处理总是应每个请求的需要而开始,即使已经存在    活动的事务处理。
  下面的代码显示了如何声明一个对象需要事务处理:

(EnterpriseServices.TransactionOption.Required)> _
Public Class MTSTest
Inherits System.EnterpriseServices.ServicedComponent

End Class

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件