0

msmqIntegrationBinding を使用して、従来の MSMQ にメッセージを送信しています。実稼働環境と同じ構成ファイルを preprod でも使用できるようにしたいのですが、preprod ではレガシー キューがローカルであるのに対し、実稼働キューは別のサーバー上にあります。

DNSエイリアスでできると思いました。

Preprod サーバーの HOSTS ファイルに DNS エイリアスを 127.0.0.1 に設定しました。

127.0.0.1 CRM_SERVER

DNSエイリアスを使用してDIRECT OS形式名を使用するようにクライアントのエンドポイントを構成しました

 <endpoint name="LegacyMsmqService" 
           address="msmq.formatname:DIRECT=OS:CRM_SERVER\crmintegration" 
           binding="msmqIntegrationBinding" 
           contract="Integration.Facades.ILegacyMsmqService" 
           bindingConfiguration="msmqIntegrationBinding"/>

HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\IgnoreOSNameValidationレジストリ キーを 1 に設定し、さらにキーを追加CRM_SERVERしましたHKEY_Local_Machine\System\CurrentControlSet\Services\LanmanServer\Parameters\OptionalNames

私は少なくとも十数回再起動しました!

クライアントがメッセージをキューに送信するたびに、最終的にローカル キューではなく送信キューになります。正しいマシン名または localhost を使用すると問題なく動作します。

私は何かを逃しましたか?

4

1 に答える 1