如何在Azure模拟器中为本地调试环境设置固定端口

时间:2013-11-21 14:34:08

标签: azure

当我将web和worker角色部署到azure时,我可以运行一些冒烟和UI测试,但我希望在开发时在本地计算机上执行相同操作。问题是我不知道如何强制部署的Web角色的ip:port。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

Windows Azure Compute Emulator从DevFC.exe.config文件夹中的C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devfabric文件中选取IP地址。 IP地址范围的设置名称为VipPoolStartIPAddressVipPoolEndIPAddress。当服务在模拟器中启动时,模拟器服务从该范围中获取第一个可用的IP地址。如果您只使用一个云服务,则可以将这两个设置中的值设置为相同的IP地址,并且您的云服务仅会获取该IP地址。

就端口而言,默认情况下它在端口80上运行云服务(然后将其动态切换到端口81以避免端口冲突)。您可以在csdef部分下的云服务Enpoints文件中指定其他端口。例如,在我们的例子中,我们总是希望服务在端口1001上运行,我们有这个设置:

<Endpoints>
  <InputEndpoint name="Endpoint1" protocol="http" port="1001" />
</Endpoints>

要记住两件事:

  • 在DevFC.exe.config中更改设置后,您需要重新启动计算模拟器才能使此设置生效。
  • 安装较新版本的SDK时会重置这些设置,因此您需要在安装较新版本的SDK后更改DevFC.exe.config文件中的设置。

答案 1 :(得分:0)

我收到了同样的错误,更改端口没有修复它。事实证明,另一个进程导致了这个问题。另一个用户在我正在使用的计算机上有一个断开连接的会话,并且他有一个名为“csmonitor.exe”的进程,其描述为“Windows Azure Simulation Monitor”。我杀了那个进程,然后我就可以调试了。