2015-07-11 5 views
2
  1. documentation говорит - до Azure SDK 1.5, развертывание веб-роли были распределены в тот же IP-адрес - 127,0 .0.1, различные номера портов, используемые для дифференциации веб-ролей. Это поведение вернулось сейчас? Я заметил, что мои веб-роли развернуты под одним и тем же IP-адресом с разницей в номерах портов.Azure Compute эмулятор v2.5.0.0 - IP-адрес и порт (публичный порт в v2.5) ходьба

  2. Я постоянно получаю переназначение портов, если приложение запускается в первый раз после перезагрузки компьютера. В ходе дальнейшего расследования я заметил следующие вещи.

    • Если машина перезагрузилась без выхода из Compute Emulator, то порты, в которых ранее развернутые роли в сети НЕ освобождаются. Найдите результат netstat ниже после перезагрузки компьютера. Это заставит вычислительный эмулятор найти порт (8070), указанный в csdef, как занятый, и подумайте о повторном использовании при следующем развертывании. Говорите, если мы выходим из вычислительного эмулятора или делаем csrun.exe removeall/clean/shutdown из командной строки перед перезагрузкой, тогда все порты, используемые для развертывания служб, освобождаются.

NetStat -aon | Findstr 8070

Прото Локальный адрес Внешний адрес Состояние PID

TCP 0.0.0.0:8070 0.0.0.0:0 ПРОСлУШИВАНИЕ 4

TCP [::]: 8070 [::]: 0 СЛУШАТЬ 4

TaskList/FI "PID эк 4"

Название изображения PID Имя сеанса Session # Mem Usage

System 4 Услуги 0 288 K

  • Услуга не доступна в ожидаемом адрес (IP: порт) из-за этого переназначения порта для вышеупомянутого сценария в Azure SDK 2.5. Повторное использование в Azure SDK 2.1 тоже, но затронуло только частный порт, и приложение работало как общественный порт, оставаясь без изменений. Но с Azure SDK 2.5 - общественный порт получил переназначение, что приводит к сбою приложения. Найдите ниже скриншота csrun.exe/запустить [пакет] подробно и в Azure SDK 2.1 и 2,5

csrun comparison between 2.1 & 2.5 Azure SDKs

вы рекомендуете решение, чтобы исправить эту проблему?

ответ

1

Я нашел решение для вышеуказанной проблемы.

  1. MSDN documentation говорит - до Azure SDK 1.5, развертывание веб-роли были распределены в тот же IP-адрес - 127.0.0.1, различные номера портов, используемых для дифференциации веб-роли.

Такое поведение (тот же IP-адрес, но другой порт для разных ролей в Интернете) будет существовать, если режим эмулятора находится в iisexpress.

  1. Я понял, что в Azure SDK 2.5 - режим iisexpress по умолчанию (где, как и в Azure SDK 2.1 - режим fullemulator по умолчанию). Все начали работать назад, когда fullemulator аргумент установлен /usefullemulator
 
csrun.exe /devfabric:shutdown /usefullemulator 

csrun.exe /devfabric:clean /usefullemulator 

csrun.exe /devfabric:start /usefullemulator 

csrun.exe /run [pack] /usefullemulator