博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TransactionScope 之分布式配置
阅读量:5097 次
发布时间:2019-06-13

本文共 1523 字,大约阅读时间需要 5 分钟。

本文转载:

TransactionScope是个好东西,可以自动管理transaction,即使是对分布式数据库也可以,但是需要一些配置(摸索了2天。。。), 本文的环境为windows 2003:

 

1. 对跑代码的机器sql所在的服务器进行Component Services的配置

Administative Tools -> Component Services -> 点开Component Services -> Computers -> My computer -> 右键属性 -> 选择MSDTC -> Security Configuration -> 按如下配置 -> OK -> 重启Distributed Transaction Coordinator服务(一定要手动重启哟

最重要的是Allow Inbound 和 Allow Outbound, 其他意义如下:

 

 

2. 配置防火墙,同样也是对跑代码的机器sql所在的服务器进行配置

 

Windows Firewall -> Exceptions -> Add Program -> Browse -> "C:/WINDOWS/system32/msdtc.exe" -> OK

msdtc.exe 是windows 分布式服务程序。

 


 

博客园上的一个解决方法:

 

第一步:

--------------------
win2003缺省禁用远程/网络事务,启用的步骤如下:
启用网络 DTC 访问的步骤
1. 单击“开始”,指向“控制面板”,然后单击“添加/删除程序”。
2. 单击“添加/删除 Windows 组件”。
3. 选择“应用程序服务器”,然后单击“详细信息”。
4. 选择“启用网络 DTC 访问”,然后单击“确定”。
5. 单击“下一步”。
6. 单击“完成”。
7. 停止分布式事务协调器服务,然后重新予以启动。
8. 停止参与分布式事务的任何资源管理器服务(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然后重新予以启动。
--------------------------------
第二步:
--------------------------------
设置MSDTC:控制面板->管理工具->组件服务->我的电脑->右键->属性->MSDTC->安全配置(Security Configuration)->打开Network DTC Access 同时打上
Allow Inbound ,Allow Outbound ,No Authentication Required,Enable Transaction Internet Protocol[TIP] Transaction
---------------------------------
第三步:将MSDTC程序添加入Windows防火墙
注意:两台参与分布事务的机器都需按如上操作设置。如果还有问题,则重启机器。


比我多了第一步,在我的试验中没有用到第一步。

有人说TransactionScope不支持跨域访问,在我的实验中,是可以跨域的。

 

关于TransactionScope有几点需要补充:

1. connection 须在TransactionScope内部打开且关闭

2. 执行sql时出现的异常要抛出到TransactionScope,以使得TransactionScope知道发生异常了,准备回滚

转载于:https://www.cnblogs.com/51net/p/3168576.html

你可能感兴趣的文章
[LintCode] 最小路径和
查看>>
S-GPRS车辆监控方案-转载
查看>>
给互联网创业公司的8个建议
查看>>
20160115小记
查看>>
hdu 2526
查看>>
那些常用的git工具
查看>>
join()方法之我见
查看>>
希尔shell排序——java实现
查看>>
webService学习1----WSDL
查看>>
评估分类器性能的度量,像混淆矩阵、ROC、AUC等
查看>>
Scala - Spark Lambda“goesto“ => 分析
查看>>
mysql TIMESTAMPDIFF
查看>>
win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
查看>>
通过cmd查看环境变量名对应的环境变量值
查看>>
Python: 利用Python进行数据分析 学习记录
查看>>
python 零基础学习之路-06 常用模块
查看>>
[Lintcode]165. Merge Two Sorted Lists/[Leetcode]21. Merge Two Sorted Lists
查看>>
【ASP.NET 进阶】TreeView控件学习
查看>>
linux nfs配置
查看>>
【.Net Core】Assets file project.assets.json not found. Run a NuGet package restore
查看>>