我对设置 DTC 通信的端口范围感到困惑。通过 dcomcnfg 设置端口(如本 NServiceBus 文章中所述)与通过注册表配置端口(如本Microsoft 支持文章中所述)有什么区别(在功能上) ?是否有任何理由会表现出不同的行为,或者这些完全不同的设置只是看起来相似?
我对设置 DTC 通信的端口范围感到困惑。通过 dcomcnfg 设置端口(如本 NServiceBus 文章中所述)与通过注册表配置端口(如本Microsoft 支持文章中所述)有什么区别(在功能上) ?是否有任何理由会表现出不同的行为,或者这些完全不同的设置只是看起来相似?
没有区别*,因为在这两种情况下,注册表项下的
Ports
值都在修改。HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet
下面的屏幕截图显示了注册表修改(使用ProcMon捕获),这是在使用 DCOMCNFG 设置端口范围时发生的:无论如何,在某个时间点,Microsoft 建议直接编辑注册表,因为 DCOMCNFG 内部存在一个错误,该错误记录在KB201911下(请注意,以下声明确认 DCOMCNFG 实际上正在修改
HKLM\SOFTWARE\Microsoft\RPC\Internet\Ports
):还有另一个 Microsoft KB ( KB217351 ),它指的是这个错误,并提出以下建议:
*因此,除非您使用的是不支持的 Windows 版本,它依赖于 Microsoft COM+ 2.0,否则上述错误不再适用,您可以自由使用 DCOMCNFG 或
HKLM\SOFTWARE\Microsoft\RPC\Internet\Ports
直接编辑