熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

淺談 .NET 裡的MTS

2013-11-13 10:15:48  來源: .NET編程 
事務處理模式是為參與事務處理的每個組件而設置的它用來告知MTS說組件所做出的更改是否應該被忽略

  當事務處理創建新對象的時候MTS會查看兩個信息源來確定事務處理的模式首先它要確定對象的創建者是否正在一個已經存在的事務處理裡運行其次它要使用組件的事務處理模式

  在Visual Basic NET裡可以從SystemEnterpriseServicesServicedComponent裡衍生出一個類這類能夠參與事務處理如果SystemEnterpriseServices這個命名空間不在你的項目裡你就要把它添加到項目的參照裡

Public Class MTSTest
Inherits SystemEnterpriseServicesServicedComponent

End Class

  要控制用於類的事務處理模式你需要對類使用TransactionAttributeTransaction(事務處理)屬性的構造器能夠接受TransactionOption這個類型的枚舉參數(enumerated parameter)TransactionAttribute可能的值有

Disabled——對象會忽略事務處理
  NotSupported——對象不能在事務處理的范圍內運行對象的創建不需要事務處理的存在而不論其創建者是否運行在事務處理裡
  Supported——對象需要或者不需要事務處理都可以運行如果對象是在一個活動的事務處理裡創建的那麼它就要在這個已存在事務處理裡運行如果對象不是在活動的事務處理裡創建的那麼對象不需要事務處理也可以運行
  Required——對象需要一個事務處理如果已經存在一個活動的事務處理那麼對象就要在這個事務處理裡運行如果不存在活動的事務處理就要開始一個新的事務處理這個值是Transaction屬性缺省的值
RequiresNew——對象需要一個事務處理但是新的事務處理總是應每個請求的需要而開始即使已經存在    活動的事務處理
  下面的代碼顯示了如何聲明一個對象需要事務處理

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

End Class
From:http://tw.wingwit.com/Article/program/net/201311/13106.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.