WCF從理論到實踐(12):事務

來源:互聯網
上載者:User

本文目的

通過閱讀本文,您能瞭解以下知識

1) 如何在WCF中實現事務?

2) 談談事務隔離方式的相關知識

3) 事務的實現會給我們編程帶來什麼樣的阻力?

4) 一筆帶過,WCF是如何?分散式交易的?

5) 代碼不騙人,用一個銀行存取款的範例來演練WCF事務

本文適合的讀者

本文適合WCF初學者,學習本文之前,您最好閱讀一下WCF從理論到實踐系列文章的前幾篇

如何在WCF中實現事務?

事務原本是一件難於實現的事情,可WCF總是能化腐朽為神奇,它能夠通過簡單的聲明式編程方式,便可以實現分布式的事務,下面就來看下實現此目標的功臣:

1) TransactionFlowAttribute:操作契約(OperationContractAttribute)的一個屬性,它能夠指示所屬操作(Operation)的事務選項(TransactionFlowOption)。

2) TransactionFlowOption:它是TransactionFlowAttribute建構函式中的參數,是一個枚舉(enum),包括三個枚舉項NotAllowed:不允許事務,是預設值;Allowed:允許事務,意味著事務可有可無;Mandatory:強制事務,表示事務是必須的。

3) TransactionAutoCompleteOnSessionClose:它是操作行為(OperationBehaviorAttribute)的一個屬性,用於標註事務完成之後,服務端執行個體是否自動釋放,這個屬性和服務物件執行個體模式緊密相關,使用的時候,應該著重小心,下面也會有說明。

4) TransactionIsolationLevel:也是操作行為(OperationBehaviorAttribute)的一個屬性,用於指示事務隔離方式(isolation level).包括5中選項:Any,ReadUncommitted,ReadCommitted,RepeatableRead,Serializable,事務的隔離方式相關知識比較複雜,留作文章的第二點中將具體闡述

5) TransactionTimeout:也是操作行為(OperationBehaviorAttribute)的一個屬性,用於指示事務的逾時時間,預設為TimeSpan.Zero,表示不會受逾時時間的限制..:: OperationBehaviorAttribute:也是操作行為(OperationBehaviorAttribute)的一個屬性,用於指示分散式交易選項,如果設定為true,那麼必須在事務範圍(Transaction Scorp)內。

通過上面幾個屬性的使用,我們便能夠輕鬆的在WCF中實現事務以及分散式交易。具體實現方式可以參考代碼範例

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.