代码改变世界

关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法(转)

2013-01-02 18:48  C#与.NET探索者  阅读(279)  评论(0编辑  收藏  举报

遇到此问题,主要是下面三类因素引起

1.MS DTC是否设置正确?

2.是否启用了防火墙?是否对DTC做了例外?

3.是否做了hosts映射?是否跨网域通信?

MSDTC的配置步骤就不说了,但是一觉得奇怪的是网上讲的MSDTC的运行帐号,与我所遇到的都不一样。网上一些帖子都是Networkservice,而我在实际中遇到的差不多都是只有配成Network service这个才行。

前一阵:客户端WIN7  Network service + 服务器 win2003 Networkservice 这样配才正确

一直以来都很郁闷的。。。。

昨天遇到跨网域通信的问题,在此也记一下。二台win2003的服务器,在不同网段,但通过IP可能ping通。但是通过 NetBIOS 名则无法 ping通。

最后的解决方法是在二台机的

C:/WINDOWS/system32/drivers/etc/hosts

在文件的最下方添加对方机器的 NetBIOS 名和 ip 对应关系,例如:

192.168.1.2     DbServerName ,对方机器名

192.168.3.2     AppServerName ,对方机器名

C:/WINDOWS/system32/drivers/etc/lmhosts.sam 用记事本打开,也分别如hosts文件一样,添加

192.168.1.2     DbServerName         ,对方机器名

192.168.3.2     AppServerName        ,对方机器名

这样简单配一下,问题就解决了。