国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
WCF分布式事務(wù)操作實(shí)踐

假的分布式事務(wù):

using tr as new transaction
call_service_a()
call_service_b()

tr.complete()

end using

在一臺機(jī)器上,實(shí)現(xiàn)客戶端事務(wù),也就是說在客戶端調(diào)用上述代碼,那么如果你的DTC服務(wù)未配置或者說禁用了DTC配置,會出現(xiàn)“與基礎(chǔ)事務(wù)管理器的通信失敗”的錯誤。如果設(shè)置了DTC服務(wù),那么(不管啟動沒啟動,如果沒啟動,系統(tǒng)會自己啟動DTC),都可以實(shí)現(xiàn)事務(wù)控制。如果只是調(diào)用一個(gè)操作,那么不會啟動DTC,應(yīng)該是因?yàn)榈粲昧藘蓚€(gè)conn的操作,所以啟用了DTC。

這并不能算真正的分布式事務(wù),為了實(shí)現(xiàn)分布式事務(wù),還得做一番手腳:

真正的分布式實(shí)驗(yàn):

如果要在異構(gòu)的系統(tǒng)中實(shí)現(xiàn)A.Add() ;B.Add(),那么如果沒有配置任何東西,在調(diào)用的時(shí)候會出現(xiàn)“調(diào)用方未由服務(wù)進(jìn)行身份驗(yàn)證”。網(wǎng)上有些方法是配置:binding.Security.Mode = SecurityMode.None;但是,這 是一種無奈的方法。

這需要使用WS-AT協(xié)議,具體過程如下:

1. 選擇支持事務(wù)的綁定,我用的是 wsHttpBinding
2. 在配置文件(web.config)的綁定設(shè)置中 transactionFlow ="true"
3. 在服務(wù)接口中設(shè)定方法屬性:<TransactionFlow(TransactionFlowOption.Mandatory)> 
4. 在服務(wù)類中設(shè)定方法屬性:<OperationBehavior(TransactionScopeRequired:=True)>
5. 在客戶端的 Winform UI 中使用代碼:
using tr as new transaction
call_service_a()
call_service_b()

tr.complete()

end using
6. 配置 MSDTC,請參考 http://msdn.microsoft.com/zh-cn/library/ms752261.aspx


7. 配置 MS-AT,請參考 

http://www.cnblogs.com/walkinhill/archive/2007/05/26/565020.html
第一次配置和使用 MSDTC 和 MS-AT 非常耗時(shí)間,幸運(yùn)的是最終還是成功了?,F(xiàn)在如果不提交 tr.complete(),更新是不會提交到的,數(shù)據(jù)庫數(shù)據(jù)不會更新。同時(shí)我用 服務(wù)跟蹤查看器跟蹤,發(fā)現(xiàn)除了第一個(gè)更新時(shí)間比較慢(約1秒),后續(xù)的更新和不使用 transaction 的時(shí)間相當(dāng)(約15毫秒),所以感覺使用 transaction 對性能沒什么影響。
我的環(huán)境:WCF 由 Win2003 IIS6 host,客戶端是 xp,vsts2008開發(fā)。

MSDTC要支持WS-AT協(xié)議要多做一番工作,但是如果是在本機(jī)上測試,會發(fā)現(xiàn),即使沒有配置MSDTC支持WS-AT協(xié)議,或者沒有啟用WS-AT協(xié)議,事務(wù)還是能夠正常的CommitRollback。剛開始不知道是什么原因。

后來查了一下微軟的相關(guān)文檔,發(fā)現(xiàn)使用wsHttpBinding支持事務(wù)時(shí),出于效率的考慮,WCF會首先使用Oletx事務(wù),而不是完全的ws-at協(xié)議。只有在oletx協(xié)議不可用的情況,比如135端口沒開、或者和java web service互操作的情況下,wcf才會完全使用ws-at協(xié)議。這固然是好,但是有時(shí)候我們并不希望這樣(比如測試的時(shí)候),這時(shí)候我們可以修改注冊表,禁止事務(wù)自動升級為oletx事務(wù)。具體是在注冊表:HKLM\SOFTWARE\Microsoft\WSAT\3.0下增加一個(gè)名為“OleTxUpgradeEnabled”的DWord值,并且設(shè)置值為01為啟用自動升級)

關(guān)于OletxWS-AT分別參考:

Oletx協(xié)議允許事務(wù)跨越程序與、進(jìn)程或機(jī)器邊界。使用RPC調(diào)用,采用Windows專用的二進(jìn)制格式,無法跨越防火墻,也不能和其他倚重平臺進(jìn)行整合。多用于Windwos體系的Internet環(huán)境。

WS-AT:和LoeTx相似,允許事務(wù)跨越程序與、進(jìn)程或機(jī)器邊界。但是他是一種工業(yè)標(biāo)準(zhǔn),采用HTTP協(xié)議,TEXT編碼,可跨越防火墻。

http://www.cnblogs.com/frank_xl/archive/2009/05/22/1487383.html

http://www.360doc.com/content/09/1225/01/495229_11916811.shtml


關(guān)于WS-AT的分析:

基于WS-AtomicTransaction標(biāo)準(zhǔn)的WCF遠(yuǎn)程分布式事務(wù)(二)

配置MSDTC WS-AT

基于WS-AtomicTransaction標(biāo)準(zhǔn)的WCF遠(yuǎn)程分布式事務(wù)(一)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
WCF、Net remoting、Web service概念及區(qū)別
基于WS-AtomicTransaction標(biāo)準(zhǔn)的WCF遠(yuǎn)程分布式事務(wù)
WCF事務(wù)編程
SQL Server 分布式事務(wù)處理(MS DTC)初探
.NET簡談事務(wù)、分布式事務(wù)處理
C#綜合揭秘
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服