导读:在上篇博客中说到,通过启动微软的msdtc来实现分布式事务处理,随后,问题就来了,现在,一一总结这个过程中的问题。


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

1.1,问题描述

已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。

对于这个问题的理解和解决,请看上篇博客中有关于分布式事务提交树的介绍。

1.2,解决方案

打开"控制面板"- >"管理工具"- >"组件服务" 如下图:

IOTLPH_IOTLPH


然后依次双击"计算机"- >"我的电脑"- >"Distributed Transaction Coordinator",然后右键点击"本地DTC",选择“属性”选项,在"安全"选项卡中设置如下即可:

IOTLPH_IOTLPH_02

随后,打开控制面板——管理工具——服务,确认Distributed Transaction Coordinator服务是打开的。

IOTLPH_分布式事务_03

二、无法远程连接到数据库服务器

在本次项目中,涉及到了多个数据库服务器的数据操作,而这些事务处理,就存在于这些服务器之间。所以,很重要的一步,就是将数据库服务器的配置更改为可以远程连接。

更改办法,问度娘。更改完了之后,发现还是连不上,这里就又涉及到防火墙的因素了,如果完全关闭防火墙,势必也会给电脑带来安全隐患,那么我们就只能采取信任自己指定的端口号了。

大概步骤是:防火墙——高级设置——入站规则——新建规则——端口——设置指定的端口号,按照提示结束即可。


三、总结

解决了这些问题后,还是一个接着一个的出错,但是,出错就是好现象(这是在经历了不报错,但也不成功的代码调试之后,说出来的真心话)。紧接着要分享的是:该伙伴事务管理器已经禁止了它对远程/网络事务的支持。

静待接下来的博客吧:动态切库的N条思路,N种错。EF框架的工作原理及其代码分解介绍。现在,我该睡觉了,大家,晚安!