我有一個內部端點如下設置:內部端口碰撞在Azure計算模擬器
<InternalEndpoint name="TcpSvcEndpoint" protocol="tcp" port="20000" />
端點將通過NetTcp WCF服務一起使用。如果我在計算模擬器中運行1個實例,配置工作正常。但在計算模擬器(Visual Studio調試Azure項目)中有2個或更多實例時,同一個端口將分配給所有實例。這當然會失敗WCF NetTcp初始化所有服務(除了第一個實例),預期異常「IP端點上已經有一個偵聽器。確保..... SocketException:每個套接字只有一個用法... ......「。
我的理解是模擬器會增加每個實例的端口。如果不是這種情況,在Visual Studio中調試時如何在計算模擬器上測試多個實例?
我不想用「*」使用動態端口設置。
爲了澄清,我正在訪問RoleEnvironment以獲取分配的端口。
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["TcpSvcEndpoint"].IPEndpoint.Port;
我正在使用Azure SDK 1.6。 (2011年11月版)。
你能澄清一下,你是否簡單地使用端口20000與你的wcf初始化,或者調用'RoleEnvironment.CurrentInstance.InstanceEndpoints [「TcpSvcEndpoint」]。IPEndpoint.Port'? –
我在調用RoleEnvironment.CurrentInstance.InstanceEndpoint [...] ... Port。我沒有硬編碼任何端口。端口號來自計算模擬器的RoleEnvironment實例。 – loopedcode