.NET分布式事務(MSDTC)配置


這兩天在試用IBatis.NET,結果看到分布式事務這一節,就動手寫了個測試。今天來做個測試記錄。


1、執行命令行: net start msdtc 。
檢查服務Distributed Transaction Coordinator是否開啟,同時在此服務上右鍵屬性->依存關系 檢查依存的服務是否開啟。

2、開始->管理->組件服務->我的電腦->右鍵屬性 各選項卡的設置


3、設置NetBIOS


4、在防火牆中允許135端口


5、在任務管理器中查看mstsc的PID,在cmd命令行中鍵入netstat.exe -aon 根據PID找到端口號,並把此端口加入防火牆允許中。

 

6、如下代碼執行成功:


using (TransactionScope ts = new TransactionScope())
{

ConfigureHandler ch1 = new ConfigureHandler(Config);
DomSqlMapBuilder mapperbuilder1 = new DomSqlMapBuilder();
ISqlMapper mapper3 = mapperbuilder1.ConfigureAndWatch(ch1);
mapper3.DataSource = new IBatisNet.Common.DataSource();
mapper3.DataSource.ConnectionString = "server=192.168.1.58;database=XXX;uid=XXX;pwd=XXX";
mapper3.DataSource.DbProvider = mapper.DataSource.DbProvider;
mapper3.DataSource.Name = "exam3";
mapper3.OpenConnection();
mapper3.Delete("delbyid3", "6");
mapper3.CloseConnection();

 

ConfigureHandler ch = new ConfigureHandler(Config);
DomSqlMapBuilder mapperbuilder = new DomSqlMapBuilder();
ISqlMapper mapper2 = mapperbuilder.ConfigureAndWatch(ch);
mapper2.DataSource = new IBatisNet.Common.DataSource();
mapper2.DataSource.ConnectionString = "server=192.168.1.28;database=XXXX;uid=XXX;pwd=XXX;";
mapper2.DataSource.DbProvider = mapper.DataSource.DbProvider;
mapper2.DataSource.Name = "exam";
mapper2.OpenConnection();
mapper2.Delete("delbyid", "4");
mapper2.CloseConnection();

ts.Complete();
}

注:以上環境配置可能有些不是必要的,但是時間有限,就沒有一一去掉后測試,僅作后來者參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM