Azure Compute模拟器v2.5.0.0 - 步行

时间:2015-07-11 21:06:11

标签: azure iis azure-sdk-.net azure-compute-emulator

  1. documentation表示 - 在Azure SDK 1.5之前,Web角色部署分配在相同的IP地址 - 127.0.0.1,用于区分Web角色的不同端口号。这种行为现在又回来了吗?我注意到我的Web角色部署在相同的IP地址下,但端口号不同。

  2. 如果应用程序在机器重启后第一次运行,我一直在重新启动端口。在进一步调查中,我注意到以下事项。

    • 如果计算机在没有退出Compute Emulator的情况下重新启动,则之前部署的Web角色的端口不会被释放。在机器重启后找到下面netstat的输出。 这使计算模拟器找到csdef中提到的端口(8070)为忙,并考虑在下一次部署时重新映射。 假设我们退出计算模拟器或在重新启动之前从命令行执行csrun.exe removeall / clean / shutdown,那么将释放用于部署服务的所有端口。
  3.   

    netstat -aon | findstr 8070

    原始本地地址外部地址状态PID

    TCP 0.0.0.0:8070 0.0.0.0:0 LISTENING 4

    TCP [::]:8070 [::]:0 LISTENING 4

      

    TASKLIST / FI“PID eq 4”

    图像名称PID会话名称会话#内存使用

    系统4服务0 288 K

    • 由于Azure SDK 2.5中上述方案的端口重新映射,该服务在预期的地址(ip:port)上不可用。 在Azure SDK 2.1中也发生了重新映射,但只有私有端口受到影响,并且应用程序在公共端口保持不变的情况下工作。但是使用Azure SDK 2.5 - 公共端口被重新映射,导致应用程序失败。在Azure SDK 2.1和2.5
    • 中找到csrun.exe / run [pack details]的以下屏幕截图

    csrun comparison between 2.1 & 2.5 Azure SDKs

    您是否建议使用解决方案来解决此问题?

1 个答案:

答案 0 :(得分:1)

我找到了上述问题的解决方案。

  1. MSDN documentation说 - 在Azure SDK 1.5之前,Web角色部署分配在相同的IP地址 - 127.0.0.1,用于区分Web角色的不同端口号。
  2. 如果模拟器模式位于iisexpress中,则此行为(相同的IP地址,但不同的Web角色的端口不同)将存在。

    1. 我在Azure SDK 2.5中意识到 - 默认情况下是iisexpress模式(在Azure SDK 2.1中也是如此 - 默认情况下为fullemulator模式)。当富勒莫尔论证集\'
    2. 时,所有人都开始回击
      csrun.exe /devfabric:shutdown /usefullemulator
      
      csrun.exe /devfabric:clean /usefullemulator
      
      csrun.exe /devfabric:start /usefullemulator
      
      csrun.exe /run [pack]  /usefullemulator