WCF事務(wù)幾種傳播模式介紹
在WCF中,關(guān)于WCF事務(wù)有一種模式叫做傳播模式。而且在傳播模式中,又可以被分為四種,分別為:Client/Service 、 Client 、Service、None。#t#
WCF事務(wù)之Client/Service事務(wù)
Client/Serviec模式當(dāng)客戶端有事務(wù)的時(shí)候使用客戶端事務(wù),客戶端沒有事務(wù)的時(shí)候使用服務(wù)事務(wù)。要配置為該模式我們要完成一些步驟:
1、選擇一個(gè)事務(wù)相關(guān)的綁定,并通過將transactionFlow設(shè)置為True啟用事務(wù)流選項(xiàng)
例:
- < wsHttpBinding>
- < binding name="TranWSBinding"
transactionFlow="true" >- < reliableSession enabled="true"/>
- < /binding>
- < /wsHttpBinding>
2、將操作契約中事務(wù)流選項(xiàng)設(shè)置為 [TransactionFlow(TransactionFlowOption.Allowed)]
3、將操作行為的TransactionScopeRequired設(shè)為true
WCF事務(wù)之Client事務(wù)
Client模式確保服務(wù)只會(huì)使用客戶端的事務(wù),可以采用以下步驟配置該模式:
1、選取一個(gè)事務(wù)相關(guān)的綁定并通過將transactionFlow設(shè)置為True啟用事務(wù)流功能
2、將操作契約中事務(wù)流選項(xiàng)設(shè)置為TransactionFlowOption.Mandatory
3、將操作行為的TransactionScopeRequired設(shè)為true
WCF事務(wù)之Service事務(wù)
Service模式確保服務(wù)總是為擁有一個(gè)事務(wù),而不管它的客戶端是否使用事務(wù),該服務(wù)是一個(gè)新事務(wù)根,我們采用下列步驟配置該模式:
1、選取任意綁定,如果選擇了一個(gè)事務(wù)相關(guān)的綁定,保留其transactionFlow的默認(rèn)值,或顯式的將他設(shè)置為false
2、不要應(yīng)用TransactionFlow特性,或設(shè)置為TransactionFlowOption.NotAllowed
3、把操作行為的TransactionScopeRequired設(shè)置為TRUE
WCF事務(wù)之None事務(wù)
None事務(wù)模式是指服務(wù)永遠(yuǎn)不使用事務(wù),可以采用下列配置方式
1、選取任意綁定、如果選擇了一個(gè)事務(wù)相關(guān)的綁定,保留其transactionFlow的默認(rèn)值,或顯式的將他設(shè)置為false
2、不要應(yīng)用TransactionFlow特性,或設(shè)置為TransactionFlowOption.NotAllowed
3、把操作行為的TransactionScopeRequired設(shè)置為false