DTC防火墙要求?

我正在尝试建立一个环境,在该环境中,源自Web服务器(asp.net)的TransactionScope将通过WCF将事务流向应用程序服务器,然后再流向数据库。 由于我被迫使用SQL Server 2005数据库,这通常会导致事务被“提升”为分布式事务(可以在此TransactionScope中包装多个服务调用),这意味着需要启用分布式事务协调器。

我已经成功地在一个本地机器上工作,其中Web服务器和应用服务器托管在同一台机器上,连接到远程数据库。 DTC在端口135上进行RPC连接(以及上限)的通信。 我没有两个盒子设置来测试……对于DTC工作,是否需要打开端口135(从防火墙的角度来看)以便在Web服务器和应用程序服务器之间进行通信,或者只是在应用程序服务器上进行通信到数据库? 我从部署人员那里得到了关于从网络开放135到app服务器的回击,想知道这是否是必要的。 我还没有找到在线的doc,为我澄清这一点。

一种边缘问题,希望能有一些可能遇到过这种情况的人提供一些见解。

问候,

GA

我相信它比DTC使用RPC调用来协调更糟糕。 您可能能够将这些修复到某个端口范围,但它很复杂。 我有一个类似问题的项目 – 使用多个连接甚至同一服务器提升了对DTC的查询。 在尝试导航防火墙问题失败后,我最终重构了代码以共享连接。 我可以让它在我们的QA环境中工作,但不能在生产中使用。 存在一些差异:QA是所有虚拟机,生产是SQL服务器上的真实硬件和集群。 操作系统负载尽可能相似,但可能存在较小的补丁差异,因为QA盒具有比生产盒更广泛的应用程序。

这篇MSDN文章可能有一些用处: http : //support.microsoft.com/kb/306843