Qual é a diferença entre definir o intervalo de portas do DTC via Registro e dcomcnfg?

2

Estou confuso sobre a configuração do intervalo de portas para a comunicação do DTC. Qual é a diferença (funcionalmente), definindo as portas via dcomcnfg, conforme descrito em este NServiceBus Artigo em vez de configurá-los por meio do registro, conforme descrito neste artigo de suporte da Microsoft ? Existe alguma razão para alguém se comportar de forma diferente ou essas configurações completamente diferentes parecem semelhantes?

    
por Rob 24.03.2016 / 22:54

1 resposta

1

Não há diferença *, pois em ambos os casos, o valor Ports sob HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet Chave do Registro está sendo modificado. A captura de tela abaixo mostra a modificação do registro (capturada usando ProcMon ), que acontece ao definir o intervalo de portas usando DCOMCNFG:

Dequalquerforma,emalgummomento,a Microsoft recomendou editar o Registro diretamente , devido a um bug dentro do DCOMCNFG, que está documentado em KB201911 (observe que a instrução abaixo confirma que o DCOMCNFG está, de fato, modificando HKLM\SOFTWARE\Microsoft\RPC\Internet\Ports ):

When a port range is specified for a protocol, such as 4000-4010, the value that is written to the registry key HKLM\SOFTWARE\Microsoft\RPC\Internet\Ports (named REG_MULTI_SZ) is "4000 - 4010." A space is added preceding and succeeding the "-".

Existe outro KB da Microsoft ( KB217351 ), que se refere a esse bug, e sugere o seguinte :

If you used the DCOMCNFG utility to configure port restrictions, you may be encountering a known DCOMCNFG bug. Rather than use the DCOMCNFG utility, use Regedt32.exe to configure the port restrictions as described in the white paper.

* Portanto, a menos que você esteja usando uma versão não suportada do Windows, que depende do Microsoft COM + 2.0, o bug mencionado acima não será mais aplicável, e você está livre para usar o DCOMCNFG ou editar HKLM\SOFTWARE\Microsoft\RPC\Internet\Ports

    
por 30.03.2016 / 10:09

Tags