私は以下のような内部エンドポイント設定を持っています:
<InternalEndpoint name="TcpSvcEndpoint" protocol="tcp" port="20000" />
エンドポイントは、NetTcpWCFサービスによって使用されます。コンピューティングエミュレーターで1つのインスタンスを実行している場合、構成は正常に機能します。ただし、コンピューティングエミュレーター(Visual StudioがAzureプロジェクトをデバッグする)に2つ以上のインスタンスがある場合、すべてのインスタンスに同じポートが割り当てられます。もちろん、これはすべてのサービス(最初のインスタンスを除く)のWCF NetTcp初期化に失敗しますが、「IPエンドポイントには既にリスナーがあります。必ず..... SocketException:各ソケットを1回だけ使用してください...。 。 "。
私の理解では、エミュレーターはインスタンスごとにポートをインクリメントします。そうでない場合は、Visual Studioでデバッグしているときに、コンピューティングエミュレーターで複数のインスタンスをどのようにテストしますか?
「*」で動的ポート設定を使用したくありません。
明確にするために、割り当てられたポートを取得するためにRoleEnvironmentにアクセスしています。
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["TcpSvcEndpoint"].IPEndpoint.Port;
AzureSDK1.6を使用しています。(2011年11月版)。