您的位置:首页 > 其它

NET中的System.Transactions(分布式事务)

2017-08-01 09:22 337 查看
NET
中的
System.Transactions
(分布式事务),当项目开发完成以后,调用的时候遇到了
MSDTC
的问题,在查阅了相关资料后将这个问题解决了,大致的问题主要是使用了分布式事务,而无法访问到数据库的问题,网上很多解决方法,都是启动一下服务,然后再修改服务组件的选项,但是当Web服务器与数据库不在同一台机器上的时候,还是会报错。
错误如下:



回到顶部

二、MSDTC说明

MSDTC
(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。
该服务的进程名为
Msdtc.exe
,该进程调用系统
Microsoft Personal Web Server
Microsoft SQL Server

该服务用于管理多个服务器。

回到顶部

三、解决方案

在服务中启动
Distributed Transaction Coordinator
服务



修改组件服务里的选项
点击打开
开始
—>
管理工具
—>
组件服务

依次展开
组件服务
—>
计算机
—>
我的电脑
—>
Distributed Transaction Coordinator
,右击
本地DTC
,选择
属性
,按下图进行设置,设置完成后点击确定。




这个时候本地已经可以正常使用了,但是Web服务器与数据库服务器不在同一台机器上的时候,还是会报错,这个时候需要在数据库服务器上打开一个端口和一个应用程序。



打开防火墙设置,添加出/入站规则
端口:
135

应用程序:
C:\Windows\System32\msdtc.exe






回到顶部

四、相关指令

启动MSDTC服务:
net start msdtc


停止MSDTC服务:
net stop msdtc


卸载MSDTC服务:
msdtc -uninstall


重新安装MSDTC服务:
mstdc -install


回到顶部

五、问题相关

基础程序在 Open上失败。

已禁用对分布式事务管理器(MSDTC)的网络访问。

服务器上的MSDTC不可用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐