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