您好,登錄后才能下訂單哦!
這篇文章主要講解了“WCF事務是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“WCF事務是什么”吧!
兩個應用程序之間的通信有很多種方式,比如,我們可以使用XML與Webservice通信,使用消息與MSMQ互通,使用XML或二進制流與.NetRemoting通信等等。
但是如果一個應用程序需要同時使用這幾種來完成功能的話將給維護帶來相當大的麻煩,WCF的出現則統一了這種局面,WCF是什么?WCF是通過一種面向服務的新型編程模型簡化了關聯應用程序的開發。通過提供分層的體系結構,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中實現事務以及分布式事務。
感謝各位的閱讀,以上就是“WCF事務是什么”的內容了,經過本文的學習后,相信大家對WCF事務是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。